得到Class类的几种方法

public class TestReflection {
   public static void main(String[] args) throws ClassNotFoundException {
       Person person = new Student();
       System.out.println("这个人是"+person.name);
       //方法一
       Class c1 = person.getClass();
       System.out.println(c1);
       //方法二
       Class c2 = Class.forName("com.peanutist.day13.Student");
       System.out.println(c2);
       //方法三
       Class c3 = Student.class;
       System.out.println(c3);
       //方法四:基本内置类型的包装类都有一个Type属性
       Class<Integer> c4 = Integer.TYPE;
       System.out.println(c4);

       //父类
       Class c5 = c1.getSuperclass();
       System.out.println(c5);
  }
}

class Person{
   public String name;

   public Person() {
  }

   public Person(String name) {
       this.name = name;
  }

   @Override
   public String toString() {
       return "Person{" +
               "name='" + name + '\'' +
               '}';
  }
}

class Student extends Person{
   public Student() {
       this.name="学生";
  }
}

class Teacher extends Person{
   public Teacher() {
       this.name="老师";
  }
}
posted on 2021-03-11 21:36  要给小八赚罐头钱  阅读(224)  评论(0)    收藏  举报