目录
认识反射
反射(Reflection)
- 反射就是:加载类,并允许以编程的方式解剖类中的各种成分(成员变量、方法、构造器等)。
反射学什么
学习获取类的信息、操作它们
- 反射第一步:加载类,获取类的字节码:Class对象
- 获取类的构造器:Constructor对象
- 获取类的成员变量:Field对象
- 获取类的成员方法:Method对象
全部认识完之后,再看反射的应用场景。
获取类
反射第一步:加载类,获取类的字节码:Class对象
获取Class对象的三种方式
- Class c1=类名.class
- 调用Class提供方法:public static Class forName(String package);
- Object提供的方法:public Class getClass(); Class c3=对象.getClass();
代码演示
public class Test1Class {
public static void main(String[] args) throws Exception {
Class c1 = Student.class;
System.out.println(c1.getName()); //全类名
System.out.println(c1.getSimpleName()); //简名:Student
Class c2 = Class.forName("user.APITest.Student");
System.out.println(c1 == c2);
Student s = new Student();
Class c3 = s.getClass();
System.out.println(c3 == c2);
}
}
运行结果:
END
学习自:黑马程序员——Java课程