Demo01:
package cn.dali.code23;
import cn.dali.code21.Myinterface;
/*匿名内部类:
* 如果接口的实现类或者父类的子类只使用一次,这种情况可以忽略该实现类/子类的创建,
* 直接使用匿名内部类:
* 下段代码中
* new MyInterface(){匿名内部类}*/
public class Dmo01 {
public static void main(String[] args) {
//接口的匿名内部类使用
MyInterface inter = new MyInterface() {
@Override
public void f1() {
System.out.println("匿名内部类");
}
};
inter.f1();
/*父类匿名内部类使用*/
Fu fu = new Fu() {
@Override
public void f2() {
System.out.println("匿名内部类");
}
};
fu.f2();
/*使用匿名内部类的同时,使用匿名对象*/
new MyInterface(){
@Override
public void f1(){
System.out.println("匿名对象,匿名内部类");
}
}.f1();
}
}
父类:
package cn.dali.code23;
public abstract class Fu {
public abstract void f2();
}
接口
package cn.dali.code23;
public interface MyInterface {
public abstract void f1();
}