内容
- JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;
- 对于任意一个对象,都能够调用它的任意一个方法和属性;
- 这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
总结:就是反射可以在运行时根据指定的类名获得类的信息。
Class对象只有一个,由系统创建。一个Class对象对应一个.Class文件
用例
public class ReflectionT {
public static void main(String[] args) throws ClassNotFoundException {
Teacher t = new Teacher();
Class c = Class.forName("com.javaSE.annotation_reflection.Teacher");//获取Class
System.out.println(c);
Class c1 = t.getClass();//获取Class
Class c2 = Teacher.class;//获取Class
Class c3 = Double.TYPE;//获取Double的类型,即double
System.out.println(c1.hashCode());
System.out.println(c2.hashCode());
System.out.println(c3.hashCode());//获取哈希码
System.out.println(c.getSuperclass());//获取Teacher的父类
System.out.println(c2.getSuperclass().getSuperclass());//获取Teacher父类的父类
System.out.println(c3.getSuperclass());//获取double类型的父类
}
}
class Person{
String s;
int i;
void f(){
}
}
class Teacher extends Person{
void f(int a){
}
}
复制代码