匿名内部类

来源:互联网 发布:20世纪90年代网络繁荣 编辑:程序博客网 时间:2024/05/29 15:16

所谓匿名内部类就是没有名称的内部类。

正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写。

在使用匿名内部类的过程中,我们需要注意如下几点:
      1、使用匿名内部类时,我们必须是继承一个类或者实现一个接口,但是两者不可兼得,同时也只能继承一个类或者实现一个接口。
      2、匿名内部类中是不能定义构造函数的。
      3、匿名内部类中不能存在任何的静态成员变量和静态方法。
      4、匿名内部类为局部内部类,所以局部内部类的所有限制同样对匿名内部类生效。
      5、匿名内部类不能是抽象的,它必须要实现继承的类或者实现的接口的所有抽象方法。

public class AnonymousInnerTest {
public static void main(String[] args) {
DustMan d = new DustMan();
d.cleanWithBroom();
d.cleanWithDustCollector();
}
}


class DustMan{


public void cleanWithBroom(){
Utility util = new Utility(){


@Override
public void clean() {
// TODO Auto-generated method stub
System.out.println("正在清洁卫生");
}

};
util.clean();
}
public void cleanWithDustCollector(){
ElectronicUtil util = new ElectronicUtil(){
public void clean(){
System.out.println("正在使用吸尘器 清洁卫生");
}
};
util.clean();
  }
}


interface Utility{
public void clean();
}


class ElectronicUtil{
public void clean() {
// TODO Auto-generated method stub
System.out.println("使用电子设备清洁卫生。。。");
}
}


原创粉丝点击