尝试
父类为Person,子类为Studnet
Student
public void equal(Object obj) {
System.out.println(super.getClass()+"/"+obj.getClass());
System.out.println(super.getClass().getSuperclass()+"/"+obj.getClass());
}
Main
Student student=new Student("Liuchang",18,1);
Student stu=new Student("Liuchang",18,1);
stu.equal(student);
在Main方法中执行stu.equal(student)得到输出如下:
class Student/class Student
class Person/class Student
可见在子类调用父类的getclass()得到的结果是子类。 而super.getClass().getSuperclass()可以得到父类。