读书人

getClass步骤

发布时间: 2013-10-06 18:25:14 作者: rapoo

getClass方法

刚看到一个有意思的问题:
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
究其原因:getClass()方法是Object类中的,其方法的功能是返回运行时的类的字节码文件(即该运行时的类class),而每个类都是继承于Object类,因此,super.getClass()方法是调用继承于Object类的getClass()方法,这和直接调用getClass()方法效果一样,因为此时的运行时的类就是Test,整个过程与Date没什么关系。
ps:参考了网上的一些朋友的观点,然后自己总结了下原因。

读书人网 >编程

热点推荐