Du kan bruge annotationen @Interface til at definere din egen annotationsdefinition.
Definér dine egne annotationer
Brug annotationen @Interface til at definere din egen annotationsdefinition:
- Annotationsdefinitioner ligner grænsefladedefinitioner
- Annotationsmetodeerklæringer har hverken parametre eller throws-udtryk, og de returnerer et af følgende elementer:
- primitive typer
- Streng
- Klasse
- Enum-type
- Et array af en af ovenstående typer
- Metoder kan have standardværdier
public @interface CreatedBy{
String name();
String date();
boolean contractor() default false;
}
@CreatedBy(name = "Mary Smith",date="02/02/2008");
public class MyClass{....}
Metaannotationer: Metaannotationer
(annotationer til annotationer) angiver yderligere oplysninger om, hvordan en annotation skal bruges:
- @Target
- Begrænser brugen af en annotation
- Enkelt argument skal være fra ElementType-enum
- {TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, ANNOTATION_TYPE}
- @Retention
- Angiver, hvor annotationsoplysningerne skal tilbageholdes
- Enkelt argument skal være fra RetentionPolicy-enum
- @Documented
- Markering til annotationer, der skal inkluderes i Javadoc
- @Inherited
- Markering til Type-annotationer, der skal overtages af undertyper
Andre indbyggede annotationer:
- @Overrides
- Gælder for en metode
- Angiver, at compileren skal generere en fejl, hvis metoden ikke reelt tilsidesætter en superklassemetode.
- @Deprecated
- Gælder for en metode
- Angiver, at compileren skal generere en advarsel, når metoden bruges eksternt
- @SuppressWarnings
- Gælder for en type eller en metode
- Angiver, at compileren skal undertrykke advarsler for det pågældende element og alle underelementer
@Deprecated
public void oldMethod() {...}
@ SupressWarnings
public void yesIknowI