package HEIMA_annotation;
import HEIMA_Enum.EnumTest;
@ItcastAnnotation(color="red",arrayAtrr={1,2,3},annotation=@MetaAnnotation("d"))
public class AnnotationTest {
@SuppressWarnings(value={"deprecation","unchecked"})
@ItcastAnnotation(arrayAtrr={1,2,3},annotation=@MetaAnnotation("a"),lamp=EnumTest.TrafficLamp.RED)
public static void main(String[] args) {
System.runFinalizersOnExit(true);
if(AnnotationTest.class.isAnnotationPresent(ItcastAnnotation.class)){
ItcastAnnotation annotation = AnnotationTest.class.getAnnotation(ItcastAnnotation.class);
System.out.println(annotation);
System.out.println(annotation.color());
System.out.println(annotation.arrayAtrr().length);
System.out.println(annotation.annotation().value());
System.out.println(annotation.lamp().nextLamp().name());
}
}
@Deprecated
public void sayHello(){
System.out.println("Hello World");
}
}
---------------------- android培训、java培训、期待与您交流! ----------------------
注解归纳:
首先注解在java.lang.annotation,他有Deprecated, Documented, Inherited, Override, Retention,
SuppressWarnings, Target这些实现类。
@Deprecated:不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择。在使用不被赞成的程序
元素或在不被赞成的代码中执行重写时,编译器会发出警告。
@Documented:指示某一类型的注释将通过 javadoc 和类似的默认工具进行文档化。应使用此类型来注释这些
类型的声明:其注释会影响由其客户端注释的元素的使用。如果类型声明是用 Documented 来注释的,
则其注释将成为注释元素的公共 API 的一部分。
@Inherited:指示注释类型被自动继承。如果在注释类型声明中存在 Inherited 元注释,并且用户在某一类声明中
查询该注释类型,同时该类声明中没有此类型的注释,则将在该类的超类中自动查询该注释类型。此过
程会重复进行,直到找到此类型的注释或到达了该类层次结构的顶层 (Object) 为止。如果没有超类具有
该类型的注释,则查询将指示当前类没有这样的注释。
@Override:表示一个方法声明打算重写超类中的另一个方法声明。如果方法利用此注释类型进行注解但没有重写超类
方法,则编译器会生成一条错误消息。
@Retention:指示注释类型的注释要保留多久。如果注释类型声明中不存在 Retention 注释,则保留策略默认为
RetentionPolicy.CLASS。 只有元注释类型直接用于注释时,Target 元注释才有效。如果元注释类型用
作另一种注释类型的成员,则无效。
@SuppressWarnings:指示应该在注释元素(以及包含在该注释元素中的所有程序元素)中取消显示指定的编译器警告。
注意,在给定元素中取消显示的警告集是所有包含元素中取消显示的警告的超集。例如,如果注释一个类
来取消显示某个警告,同时注释一个方法来取消显示另一个警告,那么将在此方法中同时取消显示这两个警告。
@Target: 指示注释类型所适用的程序元素的种类。如果注释类型声明中不存在 Target 元注释,则声明的类型可以用在
任一程序元素上。如果存在这样的元注释,则编译器强制实施指定的使用限制。 例如,此元注释指示该声明
类型是其自身,即元注释类型。它只能用在注释类型声明上
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
分享到:
相关推荐
JAVA设计模式--程序设计--反射--注解--泛型
---注解---.xmind Java常用各种注解
Java 第二阶段建立编程思想 【枚举和注解】---- 代码 Java 第二阶段建立编程思想 【枚举和注解】---- 代码 Java 第二阶段建立编程思想 【枚举和注解】---- 代码 Java 第二阶段建立编程思想 【枚举和注解】---- 代码 ...
spring注解 -----最简单的注解与自动装配例子
spring-demo10-注解-IOC.zip
spring-demo13-注解-@Value.zip
Spring MVC学习(六)-------注解式控制器详解1
在火狐中显示可能会有问题,大家都是程序员,改个参数就好啦 注解包含: 拦截器 , 过滤器 , 序列化 , @After , @AfterReturning , @AfterThrowing , @annotation , @Around , @Aspect , @Autowired , @Bean , @Before ,...
内容概要:通过带着读者编写Java基础语法测试代码,理解基础数据类型-注解-数组-inet-反射-oop-Java代码实现过程和测试代码 适合人群:初学java语法入门测试代码 能学到什么:①注解、数组、数据类型、inet、method...
JAXB-XML注解-应用
Springboot-注解-通用操作日志组件。2.0.0版本修改了一些变量名称,而且做的使向下不兼容的修改,如果大家不想改,可以一直使用1.x的版本,后续还会迭代的, 如果第一次接入推荐大家使用最新版本 3.X ~~ 1.x
Eclipse-SpringBoot框架-注解介绍.docxEclipse-SpringBoot框架-注解介绍.docx
Spring系列--注解.md
十二长生歌诀注解-甲木长生口诀[文].pdf
机器学习实战(第六章-支持向量机-所有代码与详细注解-python3.7) 机器学习实战(第六章-支持向量机-所有代码与详细注解-python3.7)
Spring+SpringMVC+MyBatis整合相关配置文件:注解+xml配置。个别处需要根据使用情况修改,映射配置文件为示例,需自行编写。依赖maven管理
详细的反射-动态代理-注解
NULL 博文链接:https://wenkaixuan.iteye.com/blog/906290
方剂学-第二版-李冀-方歌-注解.doc