注解和反射
文章平均质量分 59
Splaying
Studying
展开
-
反射动态创建执行对象
Java的反射机制是非常强大的,反射出现之前Java只是一门静态语言,当JDK5诞生发布了注解、反射的功能之后Java的功能越发变得强大,成为了一门准动态语言弥补了Java强类型语言的不足。通过Java的反射机制可以动态的获取到非常多的信息(如图)1. 动态创建对象package reflection.third;public class User { private String name ; private int age; private static int va原创 2021-04-11 13:51:14 · 104 阅读 · 0 评论 -
Repeatable元注解
Repeatable:JDK8引入的元注解,表示被修饰的注解可以重复应用标记。这个注解比较绕,看了很久才想明白… 使用Repeatable元注解,需要定义一个目标注解,另外还需要定义一个存放目标注解的容器。实例:生活中的我们每个人都有很多不同的爱好,我们可以把每一种爱好都当做一种注解。因此可以利用Repeatable注解定义我们的爱好注解(每个人的爱好都不止一个),然后使用这个爱好注解修饰一个人。首先定义一个注解容器,这个容器用于存放我们所有的兴趣爱好。@Target(value = Ele原创 2021-04-10 14:54:46 · 276 阅读 · 0 评论 -
Documented元注解
Documented:说明该注解将会被包含在JavaDoc文档中,我们常见的JDK帮助文档参考手册就是JavaDoc。编写一个普通的注解,并且保证(RetentionPolicy.RUNTIME)package javadoc;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;@Retention(RetentionPolicy.RUNTIME)public @interfa原创 2021-04-09 15:47:40 · 745 阅读 · 0 评论 -
Inherited元注解
Inherited元注解:普通注解并没有继承功能,@Inherited元注解可以让一个注解具有世袭制(继承),这个注解相对比较简单。定义一个生命周期为RUNTIME的普通注解package annotation.inherits;import java.lang.annotation.Inherited;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;@Retention原创 2021-04-09 14:41:37 · 261 阅读 · 0 评论 -
Target元注解
1. Target简介Target:目标注解,用来限定目标注解可以作用于哪些地方。ANNOTATION_TYPE:作用在注解上,Target修饰的目标注解B,可以用来修饰注解C。CONSTRUCTOR:作用在构造方法上FIELD:作用在变量属性字段上。LOCAL_VARIABLE:作用在局部变量声名上。METHOD:作用在方法上PACKAGE:作用在包名上。PARAMETER:作用在参数上TYPE:任何类型,即上面的类型都可以修饰。@Target({E原创 2021-04-09 14:14:07 · 1311 阅读 · 0 评论 -
Retention元注解
1. Retetion简介Retention:Java的元注解之一,用来解释注解的注解。这个注解用来修饰其他注解保留的生命周期(范围), 如果注释类型声明中没有保留注释,则保留策略默认为RetentionPolicy.CLASS 。RetentionPolicy.SOURCE:仅存在源码中,不存在class文件。RetentionPolicy.CLASS:这是默认的注解保留策略。注解存在于.class文件中,但是不能被JVM加载。RetentionPolicy.RUNTIME:注解可原创 2021-04-09 13:28:55 · 656 阅读 · 0 评论 -
注解入门
1. 注解:AnotationJDK5引入的一门技术,位于源码中使用其他工具进行处理的标签。但是它不是程序的本身,但是可以对程序做出解释。(相当于写给机器的注释)注解用来修饰程序的元素(包 / 类 / 方法 / 字段等),但不会对被修饰的对象有直接的影响。可以通过反射对注解信息进行访问和处理。作用:提供信息给编译器/IDE工具;可用于其他工具来产生额外的代码 / 配置文件等;某些注解可以在程序运行时访问可以增强程序的动态性。这就是我们最常见的注解之一,表示一个方法打算重写父类原创 2021-04-09 10:52:39 · 68 阅读 · 0 评论 -
Java通过反射获取Method方法
1. 创建GFather祖先类,Father父类并且继承GFather类,Son子类并且继承父类。package reflection.commen;public class GFather { public int g_age = 1; public String g_name = "爷爷"; public GFather(){ } public GFather(int age, String name) { this.g_age = ag原创 2021-04-07 13:47:38 · 2354 阅读 · 0 评论 -
Java通过反射获取Field属性字段
GFather祖先类package reflection.second;public class GFather { public int g_age = 1; public String g_name = "爷爷"; public GFather(){ }}Father父类,并且继承GFather类package reflection.second;public class Father extends GFather{ private..原创 2021-04-07 12:52:48 · 447 阅读 · 0 评论