java 自定义注解数组_Java——自定义注解
一,自定义注解类
@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited //继承对接口是无用的;继承的时候只会集成到类上面的注解,不会继承到方法上的注解
@Documented
public @interface Description {
String value();
}
1,@Target:注解应用的范围,可以指定多个,这里传入一个数组;
2,@Retention:注解运行的生命周期:
3,@Inherited:是否可以被子类继承,但是如果是标记类的话,子类不会继承此注解。
4,@Documented:生成文档中是否含有注解。
二,测试自定义注解
@Description("这个是Person接口")
public class Person {
@Description("person-name")
public String name(){return "aa";};
@Description("person-age")
public int age(){return 0;};
@Description("person-sing")
public void sing(){};
}
/*@Description("这个是Child类")*/
public class Child extends Person {
/*@Description("name")*/
public String name() {
return null;
}
/*@Description("age")*/
public int age() {
return 0;
}
/*@Description("sing")*/
public void sing() {
}
}
测试获取注解信息:
public class ParseAnno {
public static void main(String[] args) throws ClassNotFoundException {
/* 使用类加载器加载一个类 */
Class childClass = Class.forName("ShuiTian.NaiLuo.Child");
// 找到上面的 注释
boolean isPresent = childClass.isAnnotationPresent(Description.class);
if (isPresent) {
// 拿到注解实例
Description d = (Description) childClass
.getAnnotation(Description.class);
System.out.println(d.value());
}
// 找到方法上的注解
Method[] methods = childClass.getDeclaredMethods();
for (Method md : methods) { // 遍历此类的方法
if (md.isAnnotationPresent(Description.class)) { // 如果方法上存在Description注解,则获取值信息
Description d = (Description) md
.getAnnotation(Description.class);
System.out.println(d.value());
}
}
System.out.println("---------高能分隔符----------");
/* 另一种解析方法上注解的方法 */
for (Method md : methods) { // 遍历此类的方法
Annotation[] as = md.getAnnotations(); //获取此方法上的注解
for (Annotation anno : as) {
if (anno instanceof Description) {
Description d = (Description) anno;
System.out.println(d.value());
}
}
}
}
}
java 自定义注解数组_Java——自定义注解相关推荐
- java 自定义注解 解析_java自定义注解
1.Annotation的工作原理: JDK5.0中提供了注解的功能,允许开发者定义和使用自己的注解类型.该功能由一个定义注解类型的语法和描述一个注解声明的语法,读取注解的API,一个使用注解修饰的c ...
- java自定义注解处理器_java自定义注解学习(注解处理器)
如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了.使用注解的过程中,很重要的一部分就是创建于使用注解处理器.Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处 ...
- java注释的简单_Java简单注解
3)按照规定使用注解,但是并不将它保留到编译后的类文件中 import java.util.ArrayList; import java.util.Date; import java.util.Lis ...
- java注解大全_java开发注解大全
1.最基础注解(spring-context包下的org.springframework.stereotype) 1.1.@Controller @Service @Repository @Confi ...
- java 注解 权限_java 使用注解 处理权限(springboot)
1.前端登陆,将用户信息传到后台 2.后台验证账号密码,如果账号密码信息正确,将登陆的用户信息保存到session中 3.自定义注解 注解名为 CheckLogin @Target({Element ...
- java 创建集合类数组_Java集合 -- ArrayList集合及应用
JAVA集合 对象数组 集合类之ArrayList 学生管理系统 斗地主案例 NO.one 对象数组 1.1 对象数组描述 A:基本类型的数组:存储的元素为基本类型 int[] arr={1,2,3, ...
- java 静态对象数组_Java静态方法和实例方法 java中的数组作为形参传入
原标题:Java静态方法和实例方法 java中的数组作为形参传入 Java静态方法和实例方法 java中的数组作为形参传入 Java虚拟机 启动一个Java程序的时候,会诞生一个虚拟机实例,当程序关闭 ...
- java list转数组_java list 转数组
java怎么把list转成数组 public static void listToarray() { List list = new ArrayList(); list.add("a&quo ...
- java 定义整数数组_JAVA中数组的正确定义方法是什么?
数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来唯一地确定数组中的元素. §5.1一维数组 一.一维数组的定义 type arrayName[]; 其中类型(type)可以为Java中任 ...
最新文章
- linux服务器加固的命令,Linux 服务器安全加固
- Enterprise Library深入解析与灵活应用(3):倘若将Unity、PIAB、Exception Handling引入MVP模式.. .. .....
- 关于python中lambda函数的描述_关于Python中的lambda函数
- JAVA随机存储_java-如何将随机整数存储到类的实例中
- wow服务器已满 队列位置5,《魔兽世界》前夕版本中“碧空之歌”排队人数近万,有必要排吗?...
- 惠普z6计算机进不去桌面,HP Z6 桌面工作站 | HP® HK 惠普香港
- 将x86平台的Linux控制台重定向到串口
- 2017.05.12_SAP特殊功能
- [海森推荐] 人工智能:一种现代方法
- 电脑如何接受邮件服务器,什么是传入邮件服务器?
- python中的ln函数_python3中涉及数字的各种函数
- 重庆html5全景,用pano2vr 转swf 全景图
- 12306快手,初始版本发布。匆忙写了个,不喜勿用
- 【Nvidia AGX Xavier】AGX Xavier使用记录
- HTML学生个人网站作业设计:电影网站设计——漫威电影(2页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
- 【日语】secret base
- 开发笔记-内表指针赋值
- php图片生成邀请函,活动邀请有新意,快速制作一份精美的邀请函h5
- java中文件读取方式的顺序_java中读取文件的方式
- js php 变量声明,javascript变量声明实例分析_javascript技巧
热门文章
- 如何使用计算机上的相机,怎样使用数码相机 数码相机怎么连接电脑
- 回首来时路,未来皆坦途.......
- JavaScript中数组对象方法总结
- 西游记中的不那么坏的妖怪
- 小软件获取QQ好友是否隐身对你可见
- 图片色彩失真 html,矢量图会失真吗?
- jbpm用户手册-Chapter 9. Process Modelling---90%
- My Ninetieth Page - 最长递增子序列 - By Nicolas
- github学生认证申请
- 理解TS装饰器Decorator