** 匿名内部类
* 它是局部内部类的简化格式
* 前提: 需要存在一个类或者接口 ; 这个类可以是抽象类, 也可以是非抽象类 ;
* 格式:
new 类名/接口名() {
方法重写 ;
} ;
* 本质: 就是一个继承某一个类或者实现某一个接口的子类对象
public class aa {
public static void main(String[] args) {
Outer o = new Outer();
o.method();
}
}
/*
A:匿名内部类 就是内部类的简化写法。
B:前提:存在一个类或者接口 这里的类可以是具体类也可以是抽象类。
C:格式:new 类名或者接口名(){ 重写方法; }
D:本质是什么呢? 是一个继承了该类或者实现了该接口的子类匿名对象。
E:案例演示 按照要求来一个匿名内部类
*/
interface Inter {
public void print();
}
class Outer {
class Inner implements Inter {
public void print() {
System.out.println("print");
}
}
public void method() {
// Inner i = new Inner();
// i.print();
// new Inner().print();
// Inter i = new Inner(); //父类引用指向子类对象
new Inter() { // 实现Inter接口
public void print() { // 重写抽象方法
System.out.println("print");
}
}.print();
}
}