黑马程序员--注解的应用

来源:互联网 发布:linux 建立目录软链接 编辑:程序博客网 时间:2024/06/06 08:54

 

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

 

 


面试:JDK1.5的新特性?
 答:枚举,注解,两个大题目。


注解:@SuppressWarnings()是压缩警告的意思,一个注解就是一个类

      @Deprecated  过时的意思,在方法上面使用它,那么这个方法将会显示为过时。

      @Override  重写

什么是注解??
 注解相当于一种标记,在程序中加了注释就等于为工程打上了某种标记,没加,则等于没有某种标记,
 以后,javac编译器,开发工具和其他程序可以用反射来了解你的类和各种元素上有无何种标记,看你
 有什么标记,就去干相应的事,标记可以加在包,类,字段,方法,方法的参数以及局部变量上。


注解的应用结构图:
 

 


注解就相当于一个你的源程序中要调用的一个类,要在源程序中应用某个注解,得先准备好了这个注解类。就像你要调用某个类,
 得先有开发好这个类。


在一个注解类上面再加上注解,那么后加的这个注解,只为我写的这个注解类来服务,那么后加的这个注解就成为“元注解”;

 

注解的生命周期有三个阶段:
 Java源文件--〉class文件--〉内存中的字节码

引出@Retention元注解的讲解,其三种取值:

 生命周期是在(RetetionPolicy。SOURCE)源文件阶段?还是在(RetetionPolicy.CLASS)class文件阶段呢?还是在(RetetionPolicy.RUNTIME)runtime阶段?


默认值是在Class阶段
@Retention(RetentionPolicy,.RUNTIME)是让这个注解保留到RUNTIME阶段

 

为注解增加基本属性:

什么是注解的属性
 1.一个注解相当于一个胸牌,如果你胸前贴了胸牌,就是传智播客的学生,否则,就不是,如果还想区分出是哪个班的学生,这时候就可以为胸牌在增加一个属性来进行区分。
   加了属性的标记效果为:@MyAnnotation(color="red")
定义基本类型的属性和应用属性:
   在注解类中增加String color();
   @MyAnnotation(color="red")
用反射方式获得注解对应的实力对象后,在通过该对象调用属性对应的方法
   MyAnnotation a=(MyAnnotation)AnnotationTest.class.getAnnotation(MyAnnotation.calss);
   System.out.println(a.color());
   可以认为上面这个@MyAnnotation是MyAnnotation类的一个实例对象


为属性制定缺省值:
 String color() default "yellow";
value属性:
 String value() default "zxx";
 如果注解中有一个名称为value的属性,且你只想设置value属性(即其他属性都采用默认值或者)

 

 

 

 

 ---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击