您的位置:首页 > 职场人生

黑马程序员-了解注解及java提供的几个基本注解

2011-07-03 00:11 531 查看
 
package Annotation;
public class AnnotationTest {
 /**
  * @Title:main
  * @Description:TODO
  * @Param:@param args
  * @return:void
  * @throws
  */
 @SuppressWarnings("deprecation") //这句注解叫压缩警告加上这句注解后,下面的过时API的应用,编译器就不会再提醒。
 //注解,就是告诉编译器应该做什么,不应该做什么
 //一句注解就是一个类。因此上句就是一个对象
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  System.runFinalizersOnExit(true); //runFinalizersOnExit是个过时API,编译会提示出问题。
  
  //方法前加上了作废提醒,因此下面这句会报警告。
  AnnotationTest.sayHello();
 }
 
 
 /*下面是另一种情况,比如,下面这个方法。假设需要作废这个方法
  * 但我们又不能删除它,因为会影响到之前调用这个方法的程序
  * 因此,可以加个注解,标示它作废了,但可以用,新来调用的时候则提示这是过期的方法,建议别用。
 */
 @Deprecated
 public static void sayHello(){
  System.out.println("hi,传智播客")
 }
 
 @Override //用于告诉编 译器,此注解之后的方法是覆盖。
 
 //标记的作用:在程序中加了注解就等于为程序打上了某个标记,打上之后,编译器
 //可以用反射来看你是否加了标记,根据标记采取相应的动作。
    //注解的应用结构图
 /*
 注解类:
 
 public @interface A {
  
 }
 应用了"注解类"的类
 @A
 class b{}
 
 对"应用了注解类的类"进行反射操作的类
 class c{
  B.class.isAnnotionPresent(A.class);
  A a=B.class.getAnnotion(A.class)
 }*/
 //注解生命周期有三个阶段
 //java源文件=>class文件->内存中的字节码
 //@Retention注解用于说明所写的相应的注解生命周期在哪个阶段
 //@Retention是作为注解的注解应用,因此叫元注解。
 //注解的默认生命周期是在class阶段。
 //因此@Override在源文件阶段
    //Deprecated在Runtime阶段
 //例 :
 /*@Retention(RetentionPolicy.RUNTIME)//说明下面注解生命周期在第三个阶段
  *public @interface ItcastAnnotation{
  *
  * }
  * */
 
 //元注解@Target说明注解应用在哪里。
 
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息