Java反射

Java创建对象的方法

1、使用new关键字
2、使用Clone的方法。无论何时调用一个对象的clone方法,JVM就会创建一个新的对象,将内容全部拷贝。
3、使用反序列化。当序列化和反序列化一个对象,JVM会创建一个单独的对象。
4、使用反射


反射

1、反射是把Java类进行解剖,并把解剖后得到的各个组成部分,映射成一个个Java对象,拿到这些对象后做一些事情。
2、一个Java类包含构造方法、方法、成员变量等信息,反射拿到一个类的class字节码文件后,将构造方法、方法、成员变量这些组成部分映射成一个个的对象
3、拿到映射的构造方法后,可以用来生成对象。
4、拿到映射的方法后,可以调用执行。
5、拿到映射的成员变量后,可以获取或修改字段值

反射是用来做框架的,或者说做抽象度高的底层代码。“反射是框架设计的灵魂”


想要解剖一个类,首先得先拿到这个类。可以通过Class类提供的forName("xx.xx")静态方法来获取。

点击查看代码
Class wantClass = Class.forName("com.test.Person");

想要反射解剖这个类,可以使用Class类提供的方法:

点击查看代码
// 构造函数
public Constructor getConstructor(Class<?>…parameterTypes)
// 用于专门反射私有构造函数
public Constructor getDeclaredConstructor(Class<?>…parameterTypes)
constructor.setAccessible(true) // 暴力反射
// 方法
public Method getMethod(String name,Class<?>… parameterTypes)
public Method getDeclaredMethod(String name,Class<?>… parameterTypes)
// 成员变量
public Field getField(String name)
public Field getDeclaredField(String name)



学习资料:WX公众号 聊5毛钱的Java
posted @ 2025-05-26 23:01  巴啦啦飞上天  阅读(10)  评论(0)    收藏  举报