匿名内部类适合创建那种只需一次使用的类,匿名内部类的语法有点奇怪,创建匿名内部类时会立即创建一个该类的实例,这个类的定义立即消失,匿名内部类不能重复使用。
下面用实现接口的方式来介绍匿名内部类:
//定义一个活动接口 interface Action{ public String eat(); public String breath(); }
public class Mouth { public void use(Action action){ System.out.println("嘴巴的的用处有"+action.eat()+"和"+action.breath()); } public static void main(String[] args) { Mouth myMouth=new Mouth(); myMouth.use(new Action() { //实现接口和抽象方法 @Override public String eat() { return "吃饭"; } @Override public String breath() { return "呼吸"; } }); } }
运行结果为:嘴巴的的用处有吃饭和呼吸