关闭

super.getClass()方法调用

51人阅读 评论(0) 收藏 举报
分类:
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()
           .getName());
    }
}

结果是:Test

在test方法中,直接调用getClass().getName()方法,返回的是Test类名。
由于getClass()在Object类中定义成了final,子类不能覆盖该方法,所以在test方法中调用getClass().getName()方法,其实就是在调用从父类继承的getClass()方法,等效于调用super.getClass().getName()方法,所以,super.getClass().getName()方法返回的也应该是Test。

若想得到父类的名称,应该用如下代码:

getClass().getSuperClass().getName();
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:43315次
    • 积分:2222
    • 等级:
    • 排名:第17075名
    • 原创:187篇
    • 转载:13篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论