本质:匿名内部类会隐式的继承一个类或者实现一个接口,或者说,匿名内部类是一个继承了该类或者实现了该接口的子类匿名对象。

    public class Outer {
    public void method(){
    **new inner(){
    public void info(){
    System.out.println(“hello world”);
    }
    }.info();
    **class A implements inner{
    @Override
    public void info() {
    System.out.println(“hello world”);
    }
    };
    A a=new A();
    a.info();
    }
    }
    public static void main(String[] args) {
    Outer outer=new Outer();
    outer.method();
    }
    }
    interface inner{
    public void info();
    }

    通过程序看出,实际上我们的Inner是一个接口,本身接口是不能直接new的,但是呢却又发现我们在new的时候,Inner这个接口后面带了一对花括号,那么这个就表示实际上我现在new的是这个接口的实现类。但是发现,这个实现类是没有名字的。