2017-9-17-Java Annotation

Java Annotation

注解也就是元数据,可以在代码中添加一些信息,而不改变原有的逻辑。

Annotation接口

系统自建的和自定义实现的注解都必须实现这个接口

public interface Annotation {
    boolean equals(Object obj);
    int hashCode();
     String toString();
     Class<? extends Annotation> annotationType();
}

系统自建的Annotation

Java 1.8 有5个自建的Annotation(lang包中,其他的还不确定),

  • Override(1.5)
  • Deprecated(1.5)
  • Suppress Warnings(1.5)
  • SafeVarargs(1.7)
  • FunctionalIterface(1.8)

Override

用于方法重写,确保方法重写的正确性。

Deprecated

用来声明一个不建议使用的方法,一般指这个方法已经废弃了。
一般会出现警告,但是程序仍然会正常执行。
除了可以用在方法之前也可以用在类之前,表示一个不被推荐使用的类,常见于一些比较老的类,往往有新的类进行替代。

SuppressWarning

主要是用来压制警告

自定义Annotation

定义格式

eg:

public @interface AnnotationName{
    数据类型 变量名称();
}

在Annotation中设置内容

Annotation和反射

也许需要在框架的源码中继续学习

@Target

明确的指出了一个Annotation的使用位置

@Documented

用于生成Javadoc时添加一些注释

@Inherited

用于声明一个父类的注解能否被子类继承,可以通过反射进行测试

posted @ 2017-11-04 18:12  寒来袖间  阅读(143)  评论(0编辑  收藏  举报