注解Annotation


注解很重要

是jdk1.5的新特性

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

@Deprecated //表示一个元素已经过时,不建议再使用
        这个注解可以声明在类,方法,成员变量之前,用于表示这个元素已经过时.

        @Override        //表示这是在覆盖父类的一个方法.
        看它的作用就知道了,把其声明在方法之前,表示这个方法正在覆盖父类的方法.
        
        @SuppressWarnings//表示取消显示指定的编译器警告
        指示应该在注释元素(以及包含在该注释元素中的所有程序元素)中取消显示指定
        的编译器警告.该注解可以放在任意的位置.在添加这个注解时要注意传入参数.

元注解就是注解的注解


@Target 表示该注解用于什么地方,可能的 ElemenetType 参数包括:           ElemenetType.CONSTRUCTOR   构造器声明             ElemenetType.FIELD   域声明(包括 enum 实例)             ElemenetType.LOCAL_VARIABLE   局部变量声明            ElemenetType.METHOD   方法声明            ElemenetType.PACKAGE   包声明            ElemenetType.PARAMETER   参数声明            ElemenetType.TYPE   类,接口(包括注解类型)或enum声明

@Retention 表示在什么级别保存该注解信息。可选的 RetentionPolicy 参数包括:            RetentionPolicy.SOURCE   注解将被编译器丢弃            RetentionPolicy.CLASS   注解在class文件中可用,但会被VM丢弃            RetentionPolicy.RUNTIME  VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息


//注解的例子
<div></div>import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


import cn.itcast.day1.EnumTest;


@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD,ElementType.TYPE})
public @interface ItcastAnnotation {
	String color() default "blue";
	String value();
	int[] arrayAttr() default {3,4,4};
	EnumTest.TrafficLamp lamp() default EnumTest.TrafficLamp.RED;
	MetaAnnotation annotationAttr() default @MetaAnnotation("lhm");
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值