![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
注解和反射
文章平均质量分 54
凯凯凯凯.
这个作者很懒,什么都没留下…
展开
-
【注解与反射八】通过反射获取注解信息
简单使用:import java.lang.annotation.*;import java.lang.reflect.Field;//练习反射操作注解public class Test06 { public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException { Class c1 = Class.forName("注解与反射.Student");原创 2021-06-03 15:28:50 · 57 阅读 · 0 评论 -
【注解与反射七】反射操作泛型
反射操作泛型Java采用泛型擦除的机制来引入泛型,Java中的泛型仅仅是给编译器javac使用的,确保数据的安全性和免去强制类型转换问题,但是,一旦编译完成,所有和泛型有关的类型全部擦出未为了通过反射操作这些类型,Java新增了ParameterizedType,GenericArrayType,TypeVaeiable和WildcardType集中类型来代表不能被归一到Class类中的类型但是又和原始类型齐名的类型ParameterizedType: 表示一种参数化类型,比如Collection原创 2021-06-03 14:49:14 · 60 阅读 · 0 评论 -
【注解与反射六】动态创建对象执行方法
有了Class对象,能做什么?创建类的对象: 调用Class对象的newInstance()方法类必须有一个无参构造器类的构造器的访问权限要足够//获得Class对象Class c1 = Class.forName("注解与反射.User");//构造一个对象User user = (User) c1.newInstance();System.out.println(user);难道没有无参构造器就不能创建对象了吗?只要在操作的时候明确调用类中的构造器,并将参数传递进去之后,原创 2021-06-03 14:21:15 · 114 阅读 · 1 评论 -
【注解与反射五】反射获取运行时类的完整结构
获取运行时类的完整结构User类在这篇文章中有写到import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;//获得类的信息public class Test04 { public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException,原创 2021-06-03 10:14:54 · 58 阅读 · 0 评论 -
【注解与反射四】类的加载器
类加载器的作用**类加载器的作用:**将class文件字节码内容加载到内存中,并将这些静态数据对象转换成方法区的运行时数据结构,然后在堆中生成一个代表这个累的java.lang.Class对象,作为方法区中类数据的访问入口。**类缓存:**标准的JavaSE类加载器可以按要求查找类,但一旦某各类被加载到类加载器中,它将维持加载(缓存)一段时间。不过JVM垃圾回收机制可以回收这些Class对象类加载器作用是用来把类(class)装载进内存的。JVM规范定义了如下类型的类的类加载器。**引导类加原创 2021-06-03 09:03:47 · 55 阅读 · 1 评论 -
【注解与反射三】Class类
Class类 对象照镜子(getClass())后可以得到的信息:某个类的属性、方法和构造器、某个类到底实现了哪些接口。对于每个类而言,JRE都为其保留了一个不变的Class类型的对象。一个人Class对象包含了特定某个结构(class/interface/enum/annotation/primitive type/void/[])的有关信息。Class本身也是一个类Class对象只能由系统建立对象一个加载的类在JVM中只会有一个Class实例一个Class对象对应的是一个加载到JVM中的一原创 2021-06-02 20:29:08 · 89 阅读 · 0 评论 -
【注解与反射二】java的反射机制
反射机制动态语言VS静态语言动态语言:是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点讲就是在代码运行时代码可以根据某些条件改变自身结构。主要动态语言:Object-C、C#、JavaScript、PHP、Python等。静态语言:与动态语言相对应的,运行时结构不可变的语言就是静态语言。如Java、C、C++。Java不是动态语言,但Java可以称之为“准动态语言”。即Java有一定的动态性,我们可以利用反射机制转载 2021-06-02 19:30:36 · 70 阅读 · 0 评论 -
【注解与反射一】java的注解机制
一、注解机制(一)、什么是注解Annotation是JDK5.0开始引入的新技术Annotation的作用:不是程序本身,可以对程序做出解释(这一点和注释没什么区别)可以被其他程序读取Annotation的格式:注解是以“@注解名”在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnings(value=“unchecked”)Annotation在哪里使用?可以附在package,class,method,field等上面,相当于给他们添加了额外的辅助信原创 2021-06-02 17:05:06 · 58 阅读 · 0 评论