获取匿名或内部类的超类

时间:2011-06-07 21:37:24

标签: java

问题是一个明显的错误。删除。

3 个答案:

答案 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();