🔥Limited Offer: Get 50% OFFon AI & Full Stack Courses🔥
Back to Java Notes
Topic #116

Java Annotations


Java Annotations

Annotations are special notes you add to your Java code. They start with the @ symbol.

They don't change how your program runs, but they give extra information to the compiler or tools.


Built-in Annotations

Java includes several built-in annotations. Here are some of the most commonly used:

Annotation Description
@Override Indicates that a method overrides a method in a superclass
@Deprecated Marks a method or class as outdated or discouraged from use
@SuppressWarnings Tells the compiler to ignore certain warnings

@Override Annotation

The @Override annotation helps the compiler check that a method really overrides a method from a superclass.

It's not required, but it's highly recommended because it helps catch errors.

In this example, we clearly indicate that we are overriding a method:

Example

class Animal {
  void makeSound() {
    System.out.println("Animal sound");
  }
}

class Dog extends Animal {
  @Override
  void makeSound() {
    System.out.println("Woof!");
  }
}

If you accidentally write the wrong method name (e.g. makesound()), the compiler will show an error like:

Example

class Animal {
  void makeSound() {
    System.out.println("Animal sound");
  }
}

class Dog extends Animal {
  @Override
  void makesound() { // Typo here!
    System.out.println("Woof!");
  }
}

public class Main {
  public static void main(String[] args) {
    Animal myDog = new Dog();
    myDog.makeSound();
  }
}

That's the power of @Override - it prevents silent mistakes.

If you try to remove the @Override line in the example above, the compiler won't warn you, and the method won't override anything. Your program may still run, but it could behave unexpectedly because the intended method was never actually overridden.


@Deprecated Annotation

The @Deprecated annotation warns developers not to use a method because it may be removed or replaced in the future:

Example

public class Main {
  @Deprecated
  static void oldMethod() {
    System.out.println("This method is outdated.");
  }

  public static void main(String[] args) {
    oldMethod(); // This will show a warning in most IDEs
  }
}

Even though the method runs and prints the message, most IDEs or compilers will show a warning like this:


@SuppressWarnings Annotation

The @SuppressWarnings annotation tells the compiler to ignore specific warnings, like "unchecked" or "deprecation":

Example

import java.util.ArrayList;

public class Main {
  @SuppressWarnings("unchecked")
  public static void main(String[] args) {
    ArrayList cars = new ArrayList();
    cars.add("Volvo");
    System.out.println(cars);
  }
}

Using raw types like ArrayList without specifying a type (e.g. ArrayList<String>) usually causes an "unchecked" warning.

The annotation @SuppressWarnings("unchecked") tells the compiler to ignore that warning. This is useful when working with old code or when you're sure the operation is safe.

However, instead of hiding the warning, you can fix it like this:

ArrayList<String> cars = new ArrayList<>();

This approach is type-safe and avoids the need for suppression.

Want to go beyond the notes?

Join CodingNow 2.0's Java course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

Java Annotations – FAQs

Quick answers about learning Java Annotations in Java.

This free note from CodingNow 2.0 explains Java Annotations in Java — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every Java topic on CodingNow 2.0, including Java Annotations, is 100% free with no signup required.
With focused practice, most students grasp Java Annotations in 1–3 days from these notes; pairing it with CodingNow 2.0's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the CodingNow 2.0 Community (/community) — expert instructors answer within 24 hours.
WhatsApp
Call NowEnroll Now