Puede utilizar la anotación @interface
para crear su propia definición de anotación.
Procedimiento
Utilice la anotación @interface para definir
su propia definición de anotación: - Las definiciones de anotación se parecen a las definiciones de interfaz
- Las declaraciones de método de anotación no tienen parámetros ni cláusulas throws
y devuelven uno de los elementos siguientes:
- primitives
- String
- Class
- enum
- una matriz de los tipos mencionados anteriormente
- Los métodos pueden tener valores predeterminados
public @interface CreatedBy{
String name();
String date();
boolean contractor() default false;
}
@CreatedBy(name = "Mary Smith",date="02/02/2008")
public class MyClass{....}
Resultados
Meta-anotaciones: Las meta-anotaciones (anotaciones de anotaciones)
proporcionan información adicional sobre cómo se puede utilizar una anotación:
- @Target
- Restringe el uso de una anotación
- El argumento único debe ser de Enum ElementType
- {TYPE, FIELD,METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, ANNOTATION_TYPE}
- @Retention
- Indica dónde se retiene la información de anotación
- El argumento único debe ser de Enum RetentionPolicy
- @Documented
- Marcador para anotaciones que deben incluirse en Javadoc
- @Inherited
- Marcador para anotaciones Type que los subtipos deberán heredar
Otras anotaciones incorporadas:
- @Overrides
- Se aplica a un método
- Indica que el compilador genera un error si el método realmente no altera de forma temporal
un método de superclase.
- @Deprecated
- Se aplica a un método
- Indica que el compilador genera un aviso cuando el método se utiliza externamente
- @SuppressWarnings
- Se aplica a un tipo o a un método
- Indica que el compilador suprime los avisos para ese elemento y todos los subelementos
@Deprecated
public void oldMethod() {...}
@SupressWarnings
public void yesIknowIuseDeprecatedMethods() {...}