super.getclass()的结果是父类还是子类?

Posted 洁瑞小弟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了super.getclass()的结果是父类还是子类?相关的知识,希望对你有一定的参考价值。

package as;
import java.util.Date;

public class Test extends Date{
    public static void main(String[] args) {
        new Test().test();
    }
    public void test(){
    System.out.println(super.getClass().getSuperclass().getName());
    System.out.println(super.getClass().getName());
    }
}

输出结果为:

java.util.Date
as.Test

getClass()方法返回的是当前运行的类,super.getClass()时当前运行的类是Test类,和this.getClass()效果一样,返回as.Test

想获得父类可以用super.getClass().getSuperclass().getName();

以上是关于super.getclass()的结果是父类还是子类?的主要内容,如果未能解决你的问题,请参考以下文章

java中为什么不能通过getClass().getName()获取父类的类名

Java多态

面试题: TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常!

多态创建的是父类对象还是子类对象

Java面试题14 super.getClass()方法调用

课堂作业8多态