------- android培训、java培训、期待与您交流! ----------
@SupperWarining(“deprecation”)//告诉编译要做什么不要做什么,不用提示警告了
压缩警告
@Override
@deprected 表示过时了
注解主要是加标记
注解类
先定义一个注解
public @interface ItcastAnnotation{
}
应用注解类
@ItcastAnnotation
public class AnnotationTest{
public static void main(String[] args)
{
ifI(AnnotationTest.isAnnotationPresent(ItcastAnnotation.class))
{
ItcastAnnotation annotation=(ItcastAnnotation)AnnotationTest.class.getAnnotation(ItcastAnnotation.class);//得到注解
}
}
}
原注解
注解上面加注解
@Retention(RetentionPolicy,Runtime)运行时注解还有用
public @interface ItcastAnnotation{
}//告诉注解保留到Runtime阶段
Rentention.Source编译阶段,
.class class文件阶段 默认值 只保留到class阶段 运行时没有了!
@Target({Element.METHODOD,Element.TYPE})//告诉这个注解能放在哪里 类上或者方法上
Class的爸爸是type
只有value属性要设置 那么可以不用等号
@ItcastAnnotation("xyz");
String color() default "blue"//默认可以省略
接口中定义抽象方法 而在子类中实现
在注解中定义数组属性
@ItcastAnnotation(color="red",value="abc",arrayttr{1,2,3})
数组中只有一个元素 可以省略大括号
枚举类型 EnumTest.TrafficLamp lamp()
枚举元素都是一个实例对象
注解中的属性
MetaAnnotation annotationttr()defa @MetaAnnotation(“lhm”);