版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
以下这段代码的结果是什么?
public class GetClassTest extends Thread{
public static void main(String[] args) {
Thread t=new GetClassTest();
t.start();
}
@Override
public void run() {
System.out.println(super.getClass().getName());
}
}
结果是:GetClassTest,并不是父类名 Thread,因为getClass是final修饰的方法,没有被子类重写,不能发生多态,所以super.getClass()和this.getClass()方法是相同效果的,如果想得到父类的名字,用getClass().getSuperClass().getName();