关于注解,常用的不多,主要是要学会自己定义注解,这就够用了,下面是一些实例代码,刚开始学的同学可以Copy回去自己运行下!
首先是自己定义自己的注解;如:
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.METHOD)//此注解的意思是标示下面的注解只能用在方法上
@Target({ElementType.METHOD,ElementType.TYPE})//方法和类中都能用
public @interface IAnnotation {
String color();//默认是抽象并且公共的
String name() default "枫柳蝶韵";
int[] array();
}
其次就是使用自己定义的注解,以及一些常用的注解
如:
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@IAnnotation(color = "blue",array = {1,2,3})
public class AnnotationTest {
@SuppressWarnings("deprecation")//取消过时编译提示信息的注解
//@IAnnotation(color = "blue")//我发现加在方法上
public static void main(String[] args) {
// TODO Auto-generated method stub
System.runFinalizersOnExit(true);
//注解默认是保留在class阶段,
if(AnnotationTest.class.isAnnotationPresent(IAnnotation.class)){
IAnnotation annotation = (IAnnotation)AnnotationTest.class.getAnnotation(IAnnotation.class);
System.out.println(annotation.color());
System.out.println(annotation.array().length);
} else{
System.out.println("无");
}
}
@Override//对父类覆盖的检查时可用的注解
public boolean equals(Object arg0) {
// TODO Auto-generated method stub
return super.equals(arg0);
}
@Deprecated//标记此方法已经过时的注解
public static void sayHello(){
System.out.println("Hi");
}
}
相信看完这些,你的注解就不仅仅是入门了,应该可以熟练使用了!