07 获得Class类的几种方法
package annotate;
// 什么叫反射
public class Test06_Reflation {
// 通过反射获得类的Class对象
public static void main(String[] args) throws ClassNotFoundException {
Person person = new Student();
System.out.println(person.name);
// 获得Class对象的几种方法
Class c1=person.getClass(); // 1 通过对象
Class c2=Class.forName("annotate.Student"); // 2 完整的路径
Class c3= Student.class; // 3 通过类名
Class c4= Integer.TYPE; // 4 基本内置类型的包装类都有一个TYPE属性
// 5 ClassLoader
}
}
// 实体类:pojo,entity
class Person{
String name;
int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
class Student extends Person{
public Student(){
this.name="学生";
}
}
class Teacher extends Person{
public Teacher(){
this.name="老师";
}
}