反射
动态语言:在运行期间改变对象类型
java不是动态语言但具有动态属性(反射)
1、反射 , 镜子
1) 在编译器创建对象 new 完整类名 反--->通过对象 找出类名
2) 在运行期间动态的创建对象、分析对象(属性,方法)
3) jvm在创建对象时会生成与之对应的class对象,同一个类的多个对象在jvm只有一个class与之对应
2、Class
1) 可以看成类的元数据。每一个对象在创建时jvm会自动生成一个与之对应的Class
2) 获取Class对象的三种方式
a、Object中的getClass(); 对象.Class()方法
b、类.class 如Student.Class
c、最常用 Class的静态方法
Class.forName("完整类名 ")