Day08——EKT
Java 语言的反射机制
在运行时判断任意一个对象所属的类。
在运行时构造任意一个类的对象。
在运行时判断任意一个类所具有的成员变量和方法。
在运行时调用任意一个对象的方法
Reflection(API)
在JDK中,主要由以下类来实现Java反射机制,这些类都位于java.lang.reflect包中: Class类:代表一个类。 Field 类:代表类的成员变量(成员变量也称为类的属性)。 Method类:代表类的方法。 Modifier类:代表修饰符。 Constructor 类:代表类的构造方法。 Array类:提供了动态创建数组,以及访问数组的元素的静态方法。
Class中的常用方法(获得类的构造方法)
getConstructors():获得类的所有的public类型的构造方法。
getDeclaredConstructors():获得类所有的构造方法
getConstructor(Class[] parameterTypes):获得类的特定public的构造方法
parameterTypes 参数指定构造方法的参数类型。
getDeclaredConstructor(Class[] parameterTypes):获得类指定的所有的构造方法
代码展示:
package reflect; import pojo.student; public class demo1 { public static void main(String[] args) { student stu=new student(); Class cla=stu.getClass(); Class cla2=student.class; Class cla3=null; try { Class.forName("pojo.student"); } catch (ClassNotFoundException e) { e.printStackTrace(); } System.out.println(cla==cla2); System.out.println(cla2==cla3); System.out.println(cla==cla3); } }
运行结果:
true false false
心得:
你所浪费的今天是昨天死去的人奢望的明天
你对今天的厌恶是你未来回不去的曾经
珍惜时光!