码迷,mamicode.com
首页 > 编程语言 > 详细

Java Annotation注解

时间:2015-02-26 20:23:58      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:泛型   注解   annotation   

参考:Java官方文档http://docs.oracle.com/javase/specs/jls/se7/html/jls-9.html#jls-9.6

注解类型:

是一种特殊类型的interface,区别在于注解声明是 @interface

特点:

1.java的注解不可显式声明父类(实际上他们都继承了Annotation类,但是你在声明时无法使用extends 关键字),也无法被泛化。

2.方法:

a) 每个方法都定义了该注解中的一个元素(Each method declaration in an annotation type declaration defines an element of the annotation type)。

b) 注解中的方法形参不可以有参数

c) 注解中的方法不可以抛出异常

d)方法的返回值(即注解的element)必须是如下之一: a primitive type(基础类型:int、float等), StringClass, parameterized invocation of Class, enum, annotation,array

parameterized invocation of Class :在java 5后java.lang.Class为泛型类,意味着他可以有类型参数,具体指Class<...>的形式,举例: Class<? extends Formatter> value();

e)如果方法的声明中没有加 default 关键字,则必须在使用泛型是进行赋值

d) 如果想建立框架,在运行期间通过反射调用注解,需要你的注解加上注解@Retention(RetentionPolicy.RUNTIME),否则注解可能在编译期间就消除了。


3.如无特殊声明,注解和interface一样(都是静态的字段)

Java Annotation注解

标签:泛型   注解   annotation   

原文地址:http://blog.csdn.net/zhjali123/article/details/43955559

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!