问题是一个明显的错误。删除。
答案 0 :(得分:4)
对于这种情况,Runnable是一个可以通过getInterfaces获取的界面。如果匿名类扩展了基类getSuperclass()
应该可以正常工作。
答案 1 :(得分:1)
超级是 java.lang.Object
。默认情况下,所有对象都会延伸Object
。
Runnable
是一个界面。无论调用的主题如何(普通类,内部类,匿名内部类),您都不会在实现层次结构中看到它。
您能解释为什么您认为Runnable
应该在实现层次结构中可见吗?
答案 2 :(得分:1)
Runnable是一个接口,而不是一个类。对于实现Runnable(或其他接口)的实际类,您将获得相同的结果,并且不会扩展任何类。
以下代码将打印class java.lang.Thread
:
Thread r = new Thread() {
@Override
public void run() {
System.out.println(this.getClass().getSuperclass());
}
};
r.start();