说明输出结果。
1
2
3
4
5
6
7
8
9
10
11
12
|
package test; import java.util.Date; public class SuperTest extends Date{ private static final long serialVersionUID = 1L; private void test(){ System.out.println( super .getClass().getName()); } public static void main(String[]args){ new SuperTest().test(); } } |
test.SuperTest
解析:TestSuper和Date的getClass都没有重写,他们都是调用Object的getClass,而Object的getClass作用是返回的是运行时的类的名字。这个运行时的类就是当前类,所以
super.getClass().getName()返回的是test.SuperTest,与Date类无关
要返回Date类的名字需要写super.getClass().getSuperclass()