java 匿名内部类

匿名内部类适合只需要使用一次的对象

匿名内部类常用于实现某个接口,也可以继承父类

如实现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");
    }
}

 

posted on 2018-02-01 19:29  Deltadeblog  阅读(93)  评论(0编辑  收藏  举报

导航