代码编织梦想

packagesample;importjava.lang.annotation.Annotation;importjava.lang.reflect.Field;importjava.lang.reflect.Method;public classClient {public static voidmain(String[] args){

System.out.println("start annotation sample");

SampleClass1 sc1= newSampleClass1();

SampleClass2 sc2= newSampleClass2();//取得指定的“注解”

Annotation annotList[] = Info.class.getAnnotations();

System.out.println("annotation size is [" + annotList.length + "]");for(int i=0; i

Annotation anno=annotList[i];

System.out.println(" annotation class is [" + anno.annotationType().getName() + "]");

}/****取得带有注解的CLASS****/

//SampleClass1

Annotation annotList1[] = SampleClass1.class.getAnnotations();

System.out.println("SampleClass1's annotation size is [" + annotList1.length + "]");for(int i=0; i

Annotation anno1=annotList1[i];

System.out.println(" annotation class is [" + anno1.annotationType().getName() + "]");

}//SampleClass2

Annotation annotList2[] = SampleClass2.class.getAnnotations();

System.out.println("SampleClass2's annotation size is [" + annotList2.length + "]");for(int i=0; i

Annotation anno2=annotList2[i];

System.out.println(" annotation class is [" + anno2.annotationType().getName() + "]");

}

System.out.println();

System.out.println();/****取得带有注解的METHOD****/

//SampleClass1

Method methodList1[] = SampleClass1.class.getMethods();

System.out.println("SampleClass1's method count is [" + methodList1.length + "]");for(Method method : methodList1){

System.out.println(" method name is [" + method.getName() + "]");for(Annotation annot : method.getAnnotations()){

System.out.println(" method annotation is [" + annot.annotationType().getName() + "]");

}

}//SampleClass2

Method methodList2[] = SampleClass1.class.getMethods();

System.out.println("SampleClass2's method count is [" + methodList2.length + "]");for(Method method : methodList2){

System.out.println(" method name is [" + method.getName() + "]");for(Annotation annot : method.getAnnotations()){

System.out.println(" method annotation is [" + annot.annotationType().getName() + "]");

}

}

System.out.println();

System.out.println();/****取得带有注解的FIELD(成员变量)****/

//SampleClass1

Field fieldList1[] = SampleClass1.class.getFields();

System.out.println("SampleClass1 has [" + fieldList1.length + "] fields");for(Field field : fieldList1){

System.out.println(" field name is [" + field.getName() +"]");for(Annotation annot : field.getAnnotations()){

System.out.println(" field annotation is [" + annot.annotationType().getName() + "]");

}

}//SampleClass1

Field fieldList2[] = SampleClass2.class.getDeclaredFields();//getFields();

System.out.println("SampleClass2 has [" + fieldList2.length + "] fields");for(Field field : fieldList2){

System.out.println(" field name is [" + field.getName() +"]");for(Annotation annot : field.getAnnotations()){

System.out.println(" field annotation is [" + annot.annotationType().getName() + "]");

}

}

System.out.println();

System.out.println();

}

}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_32661831/article/details/114719865

java annotation详解+自定义java注解(一)-爱代码爱编程

上述思维导图的下载地址为:http://download.csdn.net/detail/emilyrr/8975487注解的注解: 经过上面的学习,我们可以通过元注解来实现一个自定义的HelloWorld注解第一步:

自定义注解,jdk注解,jdk1.8新增注解。_s_first的博客-爱代码爱编程_jdk1.8自定义注解

1.自定义注解: public @interfase Test{ //没有默认值 String name(); //枚举型注解,并赋予默认值 public enum Course{ CHINESE, MATH }; Course course() defalut Course.MATH; } 例如:  @Test(name="张三", course=T

插件化注解处理api(pluggable annotation processing api)——jsr269规范_ni_hao_fan的博客-爱代码爱编程_jsr269规范

目录 插入化注解API简介使用步骤实战例子基础进阶小结 插入化注解API简介 插件化注解处理(Pluggable Annotation Processing)APIJSR 269提供一套标准API来处理Ann

java注解和反射——狂神说java学习笔记三-爱代码爱编程

原文链接:公众号狂神说视频教程[狂神说B站]: https://www.bilibili.com/video/BV12J41137hu 如有侵权,联系立删 什么是注解 Annotation是从JDK5.0开始引入的新技术). Annotation的作用 : 不是程序本身(可以对程序作出解释.(这一点和注释(comment)没什么区别)可以被其

如何自定义一个注解?-爱代码爱编程

在Java中,类使用class定义,接口使用interface定义,注解和接口的定义差不多,增加了一个@符号,即@interface,代码如下: public @interface EnableAuth { } 注解中可以定义成员变量,用于信息的描述,跟接口中方法的定义类似,代码如下: public @interface EnableAuth

Java 注解-爱代码爱编程

Java 注解 Java5 引入的一种机制 —— 注解(Annotation)。通过本小节的学习,你将了解什么是注解,注解的作用,Java 中内置注解有哪些以及注解的分类,如何自定义注解,如何处理注解等内容。 1. 什么是注解 Java 注解(Annotation)又称为 Java 标注,是 Java5开始支持加入源代码的特殊语法元数据。Java 语

如何创建一个自定义注解---个人理解-爱代码爱编程

如何创建一个自定义注解 @Target 目标(我的理解就是:标明这个注解是干什么的,它要作用在哪些地方,相当于一个声明) @Retention 保留(我的理解就是;它保留的时间,在什么时候是有效的) @Target target中提供了一个ElementType,在里面有我们可供选择的一些参数,这里是我们常用的 TYPE 作用在类,接口,或者是枚举

重点理解Java的注解与反射机制,非常重要!-爱代码爱编程

注解与反射 1、注解注解入门Annotation的作用:Annotation的格式:Annotation在哪里使用?元注解自定义注解2、反射机制Java反射机制概述理解Class类并获取Class实例什么时候会发生类初始化?获取运行时类的完整结构3、性能检测4、反射操作泛型5、反射操作注解 1、注解 注解入门 Annotation的作用:

Java 注解与反射(狂神笔记)-爱代码爱编程

注解和反射学习笔记 注解:Annotation 反射:Reflection 1.什么是注解? Annotation是从JDK5.0开始引入的新技术.Annotation的作用: 不是程序本身,可以对程序作出解释.(这一点和注释(comment)没什么区别)可以被其他程序(比如:编译器等)读取.Annotation的格式: 注解是以“@注

java 新增注解,Java注解(Annotation)上-定义-爱代码爱编程

Java系统注解图.png 1、Annotation定义与架构 Java注解(Annotation,也叫标注)是JDK5.0引入的一种注释机制,Java语言中的类、方法、变量、参数以及包等都可以被标注。 Java标注可以通过反射获取到标注内容: 在编译器生成类文件时,标注可以被嵌入到字节码中,JVM可以保留标注内容,在运行时可以获得标注的内

Java学习笔记24:Java_xml_枚举_注解_类加载器_反射_http服务器改写_管理系统与服务器集成_单元测试_日志-爱代码爱编程

文章目录 1.类加载器1.1类加载器【理解】1.2类加载的过程【理解】1.3类加载的分类【理解】1.4双亲委派模型【理解】1.5ClassLoader 中的两个方法【应用】2.反射2.1反射的概述【理解】2.2获取Class类对象的三种方式【应用】2.3反射获取构造方法并使用【应用】2.3.1Class类获取构造方法对象的方法2.3.2Constr

Java_注解和反射-爱代码爱编程

注解 什么是注解? Annotation是从JDK5.0开始引入的新技术 Annotation的作用 不是程序本身,可以对程序作出解释。(这一点和注释(comment)没什么区别) 可以被其他程序(比如∶编译器等)读取。 Annotation的格式 注解是以"@注释名"在代码中存在的,还可以添加一些参数值,例如:@Suppress