书上说:
匿名内部类即可以扩展类,也可以实现接口,但是不能两者兼备。而且如果是实现接口,也只能实现一个接口。
哪位大虾给小弟解释下这两句话,是在不能理解。

解决方案 »

  1.   

    假如不是匿名类,而是一个普通类,我们是不是可以这样写:
       class Universal extends FatherClass implements Interface1,Interface2 { }普通类Universal 继承于类FatherClass ,同时又实现了Interface1与Interface2接口。(实现了两个接口)而对于一个匿名类,就不能象上面的Universal既有继承,又有实现。且如果是实现只能是实现一个接口。
      

  2.   

    先搞清楚什么叫匿名内部类再说!形于下面这种形式的定义叫匿名内部类:
    Object o = new Object() {    // 扩展自Object类
        public String toString() {
            // 覆盖toString()方法
        }
    };
    或者:
    Runnable thread = new Runnable() {    // 实现Runnable接口
        public void run() {
            // 实现run()方法
        }
    };
    也就是在定义变量的同时来定义它的类,由于一个变量只能定义成一种类型,当然匿名内部类只能扩展一个类或者实现一个接口了。