匿名类和内部类

2018-10-05  本文已影响0人  Blessure_d95b

根据内部类的位置不同,可将内部类分为

  1. 成员内部类
  2. 局部内部类
class C{
    //成员内部类
    class B{
    }

    public void show1() {
    //局部内部类
        class D{
        }
    }
}

匿名内部类

  1. 概念:即内部类的简化写法
  2. 前提:存在一个类(可以是具体类也可以是抽象类)或接口
  3. 格式:new 类名或接口名{重写的方法}
  4. 本质:创建的是继承了类或实现了接口的子类匿名对 象。

Java语言规范上是这么描述匿名类的:

匿名类的声明:

匿名内部类在开发中的使用,一般是方法参数为接口的情况

interface D{
    void ShowContext();
}
class B{
    //参数为接口对象
    public void show(D d) {
        d.ShowContext();
    }
}

public class niming {
    public static void main(String[]args) {
        B b=new B();
        //调用时使用匿名类创建匿名对象
        b.show(new D(){
            @Override
            public void ShowContext() {
                System.out.println("hello");
            }
        });
    }
}
上一篇下一篇

猜你喜欢

热点阅读