关于匿名内部类的两句话

形于下面这种形式的定义叫匿名内部类:java

Object o = new Object() {    // 扩展自Object类
    public String toString() {
        // 覆盖toString()方法
    }
};

又或者:code

Runnable thread = new Runnable() {    // 实现Runnable接口
    public void run() {
        // 实现run()方法
    }
};

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

也就是在定义变量的同时来定义它的类,因为一个变量只能定义成一种类型,固然匿名内部类只能扩展一个类或者实现一个接口了。
接口

相关文章
相关标签/搜索