JavaSE第七十讲:Retention及RetentionPolicy详解

1. 继续上一讲内容,上一讲的内容讲到自定义注解

package com.ahuier.annotation;

public @interface AnnotationTest {
	
	//注意不要忘记小括号	
	//这边给他定义注解信息为默认值,则在AnnotationTest中注解时候,@AnnotationTest()参数默认为hello,如果有设值就按设定的值注解
	String value() default "hello";
	EnumTest value2(); //枚举也可以做为注解的值
}

enum EnumTest{
	Hello, World, Welcome;
}
package com.ahuier.annotation;

/*
 * @AnnotationTest(value = "hello") 与 @AnnotationTest("hello")都可以,前提是定义的注解里面必须是 value 值
 */
@AnnotationTest(value2 = EnumTest.Welcome) 
public class AnnotationUsage {
	
	@AnnotationTest(value = "hello", value2 = EnumTest.World)
	public void method(){
		System.out.println("usage of annotation");
	}
	public static void main(String[] args) {
		AnnotationUsage usage = new AnnotationUsage();
		usage.method();
	}
}

【说明】:Single-value annotiong: value成员设定默认值,用"default"关键词。当然注解也可以用数组形式来设置值。

2. 学习完以上两个程序之后,这两个程序是基于上一讲自定义注解内容所讲的,现在我们要做一些实际的注解的例子。

自定义Annotation类型,使用@interface自行定义Annotation型态时候,实际上是自动继承了java.lang.annotation.Annotation接口,由编译程序自动为您完成其它产生的细节,在定义Annotation型态,不能继承

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值