目录
认识反射
反射(Reflection)
反射学什么
获取类
获取Class对象的三种方式
代码演示
认识反射
反射(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()); //简名:StudentClass 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课程