注解

package AnnotationDemo;
/**
*
* 注解是JDK1.5新特性,比枚举要重要所以必须学透彻。
* 定义:注解就相当于给程序加了一个标记,加了注解就相当于加上了某种标记,
*         java编译器开发工具和其它程序可以用反射来了解你的类及各种元素上有没有何种标记

*         标记可以加载包,类,字段,方法,方法的参数,以及局部变量上。

*         可以注解理解成一个类或者一个接口,它也有它的属性(函数和属性一体化了),获取值得时候也是找value相当于get方法


* 注解生命周期的三个阶段:
*         .java----->.class------>内存中的字节码
* 注解生命的默认阶段是在.CLASS阶段。
* @Retention(RetentionPolicy.RUNTIME)保留到运行时,也就是最终阶段
*         一般的注解默认的生命周期是到.CLASS阶段,在程序运行时网内存中加载类的时候就会把注解去掉,
* 但是如果某个注解的类文件上加上@Retention(RetentionPolicy.RUNTIME)那么这个注解就可以一直保留到运行时;
* @Retention(RetentionPolicy.SOURCE)定义生命周期在源文件阶段,过了这个阶段就没了
* @Retention(RetentionPolicy.CLASS)定义生命周期在.class阶段,过了这个阶段就没了,默认阶段
* */

@ItcastAnnotation( value = "red" )  //实例化了一个注解, 括号内意思是给属性value赋值,
public class Demo {

    public static void main(String[] args) {
        //判断Demo类的字节码上有没有ItcastAnnotation这个注解
        if(Demo.class.isAnnotationPresent(ItcastAnnotation.class))
        {
            //获取这个注解
            ItcastAnnotation an=(ItcastAnnotation)Demo.class.getAnnotation(ItcastAnnotation.class);
            System.out.println(an);
        }
}
}


import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
//这个注解叫元注解,作用是保留ItcastAnnotation到运行时
@Retention(RetentionPolicy.RUNTIME)
//定义一个注解

public @interface ItcastAnnotation {

                 String value();  //代表一个返回值是String类型的方法,和接口的方法写法很像


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值