说明输出结果。
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()