Java @Deprecated Annotation

In this quick article, we will discuss what is the use of @Deprecated annotation with examples.
From Oracle Java Doc: A program element annotated @Deprecated is one that programmers are discouraged from using, typically because it is dangerous, or because a better alternative exists. Compilers warn when a deprecated program element is used or overridden in non-deprecated code.
Let me put in a simple way, the @Deprecated annotation is used for informing the compiler that the particular method, class or field is deprecated and it should generate a warning when someone tries to use any of them.
The below diagram shows the internal implementation of @Deprecated annotation for your reference:
Let's demonstrates the usage @Deprecated annotation with examples.

@Deprecated annotation Example

class DeprecatedDemo {
    /* @deprecated This field is replaced by 
     * MAX_NUM field
     */
    @Deprecated
    int num = 10;

    final int MAX_NUM = 10;

    /* @deprecated As of release 1.5, replaced 
     * by myMsg2(String msg, String msg2)
     */
    @Deprecated
    public void myMsg() {
        System.out.println("This method is marked as deprecated");
    }

    public void myMsg2(String msg, String msg2) {
        System.out.println(msg + msg2);
    }

    public static void main(String a[]) {
        DeprecatedDemo obj = new DeprecatedDemo();
        obj.myMsg();
        System.out.println(obj.num);
    }
}
Output:
This method is marked as deprecated
10
In the above example, we have a deprecated method and a deprecated field. As you can see that we have marked both of them using @Deprecated annotation and in the comment section we have used @Deprecated Javadoc tag (for documentation purpose) to inform the programmer what to use in place of it.

Reference


Continue Learning with Java Guides

Want to take your programming skills to the next level? Explore my practical Udemy courses on Java, Spring Boot, Microservices, Full-Stack Development, Docker, and Generative AI. You can also follow my structured learning roadmaps to become a professional developer.

By Ramesh Fadatare - Udemy Instructor Partner

Comments