从API里面可知道,getClass()方法是Object里面的方法,然而Object是所有类的父类。
getClass()返回此 Object 的运行时类。当new Test()的时候,运行时类,不可能是他的父类
Date,更不可能是Date的父类Object,所以super.getClass().getName()返回的只可以是JavaIO.Test。
如果你想要返回Date.class,应该这样调用Test.getClass().getSuperClass()。
具体代码:- import java.util.Date;
- public class Test extends Date{
- public static void main(String[] args) {
- new Test().test();
- }
- public void test(){
- System.out.println(this.getClass().getSuperclass());
- // System.out.println(super.getClass().getName());Test.getClass().getSuperClass()
- }
- }
复制代码 |