Annotations are similar to interfaces in that you can convey your own specifications that others will need to follow.
Here we are defining an Annotation named ClassHeaderAnnote, which has few attributes, some of them with default values as well.
@interface ClassHeaderAnnote { String authorOfClass(); String datePublished(); String modifiedBy() default "M S Sridhar";}
Here we are using the Annotation class that we defined earlier and specifying the details. We are imposing this as a rule to the developer who will be using it.
@ClassHeaderAnnote( authorOfClass = "M S Sridhar", datePublished = "31-May-2017")public class AnnoteImpl{ public static void main(String args[]) { AnnoteImpl annoteImpl = new AnnoteImpl(); annoteImpl.show(); } private void show() { System.out.println("AnnoteImpl"); }}