黑马程序员--注解

一、Java内置基本注解


1、@Deprecated:用该注解注释的程序元素,表明不鼓励程序员使用这样的元素,通常是它很危险或存在更好的选择\


2、@Override:表明当前的方法定义将覆盖超类中的方法。

 
3、@SuppressWarnings:表明关闭不当的编译器警告信息。


4、@Target:表明该注解可以用于什么地方。

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

5、@Retention:表明需要在什么级别保存该注解信息。

     Retention是枚举类型,有三个值 (Source  class  RunTime).它是为自定义的注解服务的.适于类,接口或者枚举声明

                        @Retention(RetentionPolicy.SOURCE)  保留在SOURCE阶段。
                        @Retention(RetentionPolicy.CLASS)      保留CLASS中。
                        @Retention(RetentionPolicy.RUNTIME)   一支存在.

 创建注解类的格式:

          public @interface name{}

  自定义注释:


            @interface RequestForEnhancement {

            int id();

           String synopsis();

            String engineer() default "[unassigned]";

            String date();

            default "[unimplemented]";

}

一旦完成定义,就可以使用它做注解声明。注解是一个特殊的修饰符,可以和其他修饰符一样(如public,static,final)用在各种地方。为方便计,注解一般放在最前面。注解修饰符由@符号、注解类型名和括号括起来的元素名/值对组成。下面这个例子声明一个方法使用了上面所定义的注解。

@RequestForEnhancement(

id = 2868724,

synopsis = "Enable time-travel",

engineer = "Mr. Peabody",

date = "4/1/3007"

)

public static void travelThroughTime(Date destination) { ... }

注解类型如果不含任何元素,被称为“标记”注解类型,如

                public @interface Preliminary { }

“标记”注解类型允许忽略括号,如下:

                @Preliminary public class TimeTravel { ... }



注意地方

       1、注解元素可以用的类型只有:所有基本类型(int,float,boolean)、String、Class、enum、Annotation、以上类型的数组。

       2、在定义元素的默认值时有限制,首先,元素不能有不确定的值,也就是说,元素必须要么具有默认值,要么在使用注解时提供元素的值;其次,对于非基本类型的元素,不能以null作为其值。

       3、注解不支持继承。

             



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值