博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 注解
阅读量:5939 次
发布时间:2019-06-19

本文共 1461 字,大约阅读时间需要 4 分钟。

注解

注解是一个接口,程序通过反射机制获得指定程序元素的Annotion对象。通过这个对象来获取注解里的元数据。

元数据

mysql中有元数据的概念,是对数据的数据的一种描述

例如mysql中的元数据可以获得数据库服务器当前的状态,服务器的版本号。

元注解

负责注解其他注解

栗子

@Retention(RetetionPolicy.RUNTIME)@Target(ElementType.TYPE)public @interface MyAnnotation{    public String name();    public String value();}

解释;在interface前加@表明这是一个注解,该注解可以使用到其他地方

再定义两个指示,其中@Retetion 表明注解会保留到运行期间,在编译的时候,不会去掉
@Target表明只能用在类和接口上面

@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Column{    // 其中default代表是默认的,fieldName为默认的内容    public String name() default "fieldName";    public String setFuncName() default "getField";    public String getFuncName() default "getField";    public boolean defaultDBvalue() default false;}

@Documented在java生成文档的时候使用

@inherited

该注解某个被标注的类型是继承的,如果一个使用@inherited修饰的类型被用于一个class,则这个class是该class的子类。

@Inheritedpublic @interface Greeting{    public enum FontColor{BULE, RED, GREEN};    String name();}

自定义注解

@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface FruitName{    String value() default "";}
@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface FruitColor{    public enum Color{BULE, RED, GREEN};    Color fruitColor() default Color.GREEN;}
public class Apple{    // 设置默认值为Apple    @FruitName("Apple");    private String appleName;    // 设置默认fruitColor的默认值为Color.RED    @FruitColor(fruitColor = Color.RED)    private String appleColor;}

www.iming.info

图片描述

转载地址:http://xdqtx.baihongyu.com/

你可能感兴趣的文章
集合解析
查看>>
详解分布式应用程序协调服务Zookeeper
查看>>
软件工程之构建之法
查看>>
UVa 10902
查看>>
Mathf.Sin正弦
查看>>
禁止浏览器缓存js
查看>>
【Redis】安装PHP的redis驱动(二)
查看>>
java中string和int互相转化
查看>>
什么是序列化,为什么要序列化
查看>>
Java保留小数点后有效数字
查看>>
C++中一些类和数据结构的大小的总结
查看>>
mysql开启binlog
查看>>
ctrl + z fg bg
查看>>
工作流引擎Oozie(一):workflow
查看>>
struct框架
查看>>
Deep Learning(深度学习)相关网站
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
Cross-compilation using Clang
查看>>
营销系统--手动补偿
查看>>