您的位置:首页 > 编程语言 > Java开发

Java中自定义注解

2016-05-31 21:33 483 查看

1、自定义注解

上篇博客中介绍了注解的基础知识

http://blog.csdn.net/androidxiaogang/article/details/51539132

这次学习自定义注解

定义新的Annotation类型使用@interface关键字修饰,与接口非常相似。

一下是一个简单的注解

package com.example.test;

public @interface Test {

}


定义了Annotation之后,就可以在任何程序的任何地方使用Annotation,使用Annotation的语法类似于public,final这样的修改符。Annotation可以修饰任何程序的元素,包括类,接口,方法等。

package com.example.test;
@Test
public class MyTest {
public static void main(String[] args) {
// TODO Auto-generated method stub

}

}


2、自定义带参数注解

1、FruitColor注解

package com.example.test;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface FruitColor {
public enum Color{blue,red,green};
Color fruitColor() default Color.green;
}


2、FruitName注解

package com.example.test;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface FruitName {
String value() default "";

}


3、标注

package com.example.test;

import com.example.test.FruitColor.Color;

public class Apple {
@FruitName("Apple")
private String appleName;

@FruitColor(fruitColor = Color.green)
private String appleColor;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: