几乎所有百度、GOOGLE和书上的答案都是说:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现
但是我有一个疑问,在JAVA里,Object类是根类,JAVA核心技术部和所有JAVA编程的书里都说Object类是所有JAVA类的父类,那么不是和上面问题的答案冲突了吗?如果Object类是所有类的“祖父类”,那自然也应该包括匿名内部类了,可是为什么又说匿名内部类不能extends(继承) 其它类呢?
应该怎么理解?求解释

解决方案 »

  1.   

    因为已经继承了object类了,看看是不是有this.getClass()方法
      

  2.   

    因为已经继承了object类了,看看是不是有this.getClass()方法
      

  3.   

    对啊,所以我对于答案中“不能extends(继承) 其它类”的说法比较纠结
      

  4.   

    目前、Java限制 匿名类 只能继承一个父类或者 实现一个接口。
      

  5.   


    public class Test4 { /**
     * @param args
     * @author mopishv0
     */
    public static void main(String[] args) {
    if (new Object() {
    public boolean print(String content) {
    System.out.println(content);
    return false;
    }
    }.print("Hello")) {
    System.out.println("Hello");
    } else {
    System.out.println("Word");
    }
    }}一个小例子 这里的匿名内部类就是继承了Object类 当然也可以换成其他的类或者接口
    他的意思应该是说不能使用extends和implements关键字吧