| Author |
Query regarding Java Annotation
|
Jay Shukla
Ranch Hand
Joined: Jun 08, 2008
Posts: 203
|
|
hi I'm new to Java Annotation.
I have gone through some resource on Java Annotation.
they explanied that Anootation type declaratrion is like interface declaration.
e.g.
public @interface RequestForEnhancement {
int id();
String synopsis();
String engineer() default "[unassigned]";
String date(); default "[unimplemented]";
}
but i would like to know that if above annotation declaration is only applicable if you are declaring that on an Interface (e.g. RequestForEnhancement in this case).. Is my understanding is rihgt?
Thanks in Advance.
|
 |
Rob Spoor
Saloon Keeper
Joined: Oct 27, 2005
Posts: 18365
|
|
RequestForEnhancement is not an interface, it's the annotation itself. And you can use it on any package, annotation, class, interface, constructor, method, field, parameter or even local variables, until you specify differently using the annotation Target. For example:
Sun decided not to use a new keyword for annotations (possibly to not break old code that uses annotation as variable names), but instead use @interface for that. It can be a bit confusing at first, but once you remember what the extra @ means there shouldn't be much problems.
|
SCJP 1.4 - SCJP 6 - SCWCD 5
How To Ask Questions How To Answer Questions
|
 |
Jay Shukla
Ranch Hand
Joined: Jun 08, 2008
Posts: 203
|
|
Thanks Rob!!!
For your valuable inputs.
|
 |
 |
|
|
subject: Query regarding Java Annotation
|
|
|