匿名内部类适合只需要使用一次的对象
匿名内部类常用于实现某个接口,也可以继承父类
如实现Fruit接口,一般方法为:
interface Fruit { public abstract void type() ; }
// 创建一个新类实现Fruit接口 class Apple implements Fruit { public void type() { System.out.println("It's apple"); } }
使用Apple类创建一个对象
public class Test { public static void main(String args[]) { Fruit obj = new Apple(); } }
而使用匿名内部类:
public class Test { public static void main(String args[]) { Fruit obj = new Fruit(){ public void type() { System.out.println("It's apple"); } }; } }
也可用于继承父类
public class Test { public static void main(String args[]) { Fruit orange = new Fruit(){ // 重写introduce方法 public void introduce() { System.out.println("This is orange"); System.out.println(a); } }; orange.introduce(); } } class Fruit { int a = 10; public void introduce() { System.out.println("This is fruit"); } }