黑马程序员_注解

------- 物联云培训java培训、期待与您交流! ---------- 

 

1.概述:注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记
    
标记可以加在包、类、字段、方法、方法参数,以及局部变量上等等。
       格式:@注解类名()。如果有属性,则在括号中加上属性名(可省略)和属性值。
   2.java中三种最基本的注解:
    @SuppressWarning(”deprecation”)--->用于提示编译时的警告 源程序
     @Deprecated--->是用于提示方法已过时 运行时

假定之前的某个类升级了,其中的某个方法已经过时了,不能够将过时的方法删除,

@Override--->提示覆盖父类方法   源程序看的

可对自己类中的方法判断是否是正确的覆盖了父类的方法
3.
注释的应用
   1、定义格式:@interface 名称{statement}
   2、判断一个类中是否加注解了:用这个isAnnotationPresent();方法

例如:AnnotationTest.class.isAnnotationPresent(ItcastAnnotation.class)

        3、注解的生命周期:Java源文件àclass文件-à内存中的字节码

4、获得这个注解:用getAnnotation()这个方法

       例如:ItcastAnnotationannotation =(ItcastAnnotation)AnnotationTest.class.getAnnotation(ItcastAnnotation.class);

5、定义一个注解:

 @Retention(RetentionPolicy.RUNTIME)//表示让它在运行阶段有
           @Target(ElementType.METHOD,ElementType.TYPE)//表示把这个注解写到方法上,如果你想要在类上也可以,就写上ElementType.TYPE
public@interface ItcastAnnotation {
    String color();
               String value();
int[]ArrayAttr();//数组类型的
EnumTest.TrafficLampLamp();defaultEnumTest.TrafficLamp.RDE//定义枚举类型的
MetaAnnotationannotationAttr()default @MetaAnnotation("gdgfd");
               //定义一个注解类型的
}
//定义了一个注解
public @interface MetaAnnotation {
Stringvalue();
}

注意:定义注解内的属性的类型只能是八大基本数据类型、String、Class、枚举、注解、及其相对应的数组。

6、在我的程序中应用我自己定义好的注解

           例如:

    @ItcastAnnotation
(color=”red”,value=”dsf”,ArrayAttr={1,3,4},annotationAttr=@MetaAnnotation("fdvgd"))//设置属性值
publicclass AnnotationTest {
publicstatic void main(String[] args)
                {
 
}
}

注意:如果只有一个vablue属性需要设置,可以省略value。例如:@ItcastAnnotation(“dsf”);

如果你想要省略value,可以把color设置成default。例如:

String color();default “red”;

如果数组只有一个值,可以把大括号省略。

7.对应用的类进行反射操作的类:

           这里把这个类放在了上面的类中了

8.元注解:注解的注解

9.为注解增加属性:

          注解相当于胸牌,属性实际上就是在胸牌上添加一些属性,比如说添加个颜色。

总结:注解就是给相应的类、成员函数、成员变量、局部变量等添加标记。注解的作用就是检验编码中的错误。

 

------- 物联云培训java培训、期待与您交流! ----------  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值