java 注解

以下只对java中注解的使用进行简单的说明,深入学习待查询相关文章

一、注解示例

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Ignore {
	String[] reasons() default "默认原因";   // 数组;default表示默认值,如果使用default,可在使用该注解时不用对此进行赋值(使用该缺省值)
	String initials();
	Date date();    // 复式注解类型
}
/**
 * 作为Ignore注解的一部分,不需要设置保留度(retenion)或目标(target)
 */
public @interface Date {
    int month();

    int day();

    int year();
}
// 使用范例
public class Car {
    @Ignore(reasons = { "原因1",
            "原因2" }, initials = "eg366", date = @Date(day = 28, month = 1, year = 2012))
    public void testC() {

    }
}
以上事例程序展示了简单注解的使用,

(1)保留(Retention)

@Retention元注解,使用该注解告诉java编译器,注解信息要保留多久,有三个选择:

<1>RetentionPolicy.SOURCE:在编译时被丢弃(举例:@Override、@TODO)

<2>RetentionPolicy.CLASS:保存在类文件中;在运行时可以被JVM丢弃

<3>RetentionPolicy.RUNTIME:保存在类文件中;在运行时由JVM保留

(2)注解的目标(Annotation target)

说明该自定义的注解类型可以修饰的元素类别:TYPE,FIELD,METHOD,PRARAMETER,CONSTRUCTOR,LOCAL_VARIABLE,ANNOTATION_TYPE,PACKAGE


二、说明

(1)没有指定目标(target)的注解可以修饰任何java元素

(2)不能将null作为注解的值

(3)不能用一个注解来重复的修饰某个元素

(4)元注解@Documented 表示注释应该出现在类的Javadoc中,而默认情况下,注释不包括在 Javadoc 中。

(5)元注解@Inherited表示定义的注释类型将具备继承属性,使用该注释类型的类被继承时,其子类仍具备父类的注释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值