Programando En Java

Páginas: 6 (1282 palabras) Publicado: 4 de marzo de 2013
Programando en java
Tema 5

Contenido:
* Anotaciones
* Creando una nueva anotación
* Reflexion
* Actividades
* Ejercicios

Anotaciones (Annotations)
Las anotaciones son un mecanismo para dotar a las clases de Meta información o auto información. Estas ya existían en versiones de java anteriores y de hecho se usaban, por ejemplo para generar el javaDoc (@Deprecated). Perodesde la versión 1.5 (Tiger! oh yeah) se han convertido en una parte del lenguaje y podemos trabajar con ellas tanto en tiempo de compilación como en tiempo de ejecución.
Anotar una porción de código nos sirve para procesarla de alguna manera en algún script, herramienta de despliegue o de diseño, para hacer uso de ellas en un framework, o por un compilador.
Las anotaciones se pueden trabajaren tiempo de ejecución. La forma de hacerlo sería usando el API de reflection, que se ha completado en Java 5 para tener acceso a las anotaciones.
Java da soporte directo para muy pocas anotaciones, pero también da la posibilidad de crear nuestras propias anotaciones.

Básicamente, tenemos 2 tipos de anotaciones:

1. Anotaciones Simples, las más básicas de todas, son aplicables a casicualquier tipo de elemento dentro de nuestro código.

• @Override: Le indica al compilador que el método al cual hace referencia, debe sobrescribir al método de la superclase. Si el desarrollador no lo especifica de la misma forma en que está definido en la clase padre, el compilador se va a quejar.
• @Deprecated: Mucho mejor que especificarlo en los JavaDocs, podemos marcara un método como “desacralizado” y hacer que el mismo compilador le avise a cualquier usuario de nuestra clase.
• @Suppresswarnings: Es casi auto explicativo, lo que hace es decirle al compilador que no muestre cualquier tipo de warning.

2. Meta-anotaciones: anotaciones para anotaciones.

• @Target: cuando desarrollamos una nueva anotación, deberemos especificarle a qué tipo deelemento del código es aplicable. De esta manera, podemos acceder a los tipos por medio de constantes definidas en la clase ElementType.
• @Retention: con esta anotación especificamos el tiempo de vida que va a tener nuestra nueva anotación. Por ejemplo: RetentionPolicy.SOURCE indica que la anotación sólo debe ser visible para el código fuente e ignorada por el compilador yla máquina virtual, RetentionPolicy.CLASS es tenida en cuenta por el compilador pero ignorada por la máquina virtual, y RetentionPolicy.RUNTIME va a ser tenida en cuenta por la máquina virtual en tiempo de ejecución.
• @Documented: indica que la anotación a la que hace referencia deberá ser tomada en cuenta por la herramienta JavaDoc.
• @Inherited: por defecto, cuando a una clasela marcamos con una anotación personalizada, todas las clases hijas no heredarán la anotación, a menos que marquemos a la anotación como @Inherited.

Creando una nueva anotación:

package anotaciones;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)

public @interface InfAnnotation
{
String id();
String descripcion();
}

Esta es la forma de definir una nueva anotación, note que cada campo de la anotación se define como un metodo en java, por otro lado se define esta anotación como RUNTIME, es decir que será tenida en cuenta por la maquina virtual en tiempo de ejecución, además es deltipo FIELD, o sea que es aplicable a campos.

El uso en una clase es como sigue:

package anotaciones;

public class ClienteInf
{
@InfAnnotation (id="myClassId", descripcion = "mydescrip")
private String data;

public String getData()
{
return data;
}

public void setData(String data)
{
this.data = data;
}
}

Obsérvese como la anotación se utiliza para...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • programa java
  • Programando en java
  • Programar en Java
  • Programa java
  • Programas en java
  • Programas De Java
  • Programas en java
  • Programas En Java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS