package day3.yub4by02.p3;
/*
2.4 匿名内部类
匿名内部类的前提
存在一个类或者接口,这里的类可以是具体类也可以是抽象类
匿名内部类的格式
new 类名/接口名(){
重写方法;
};
匿名内部类的本质
是一个继承了该类或者实现了该接口的子类匿名对象
匿名内部类的细节
匿名内部类可以通过多态的形式接受
匿名内部类直接调用方法
*/
public class OuterDemo {
public static void main(String[] args) {
Outer o = new Outer();
o.method();
}
}
package day3.yub4by02.p3;
public class Outer {
public void method(){
/*new Inter(){
@Override
public void show() {
System.out.println("匿名内部类实质是对象");
}
};*/
/*new Inter(){
@Override
public void show() {
System.out.println("匿名内部类实质是对象");
}
}.show(); // 对象调用方法*/
Inter i = new Inter(){
@Override
public void show() {
System.out.println("匿名内部类实质是对象");
}
};
i.show(); //编译看父类/接口,执行看子类/实现
i.show();
i.show();
}
}
package day3.yub4by02.p3;
public interface Inter {
void show();
}