//匿名内部类
//使用匿名内部类的前提条件:存在父类或者父接口
abstract class Test {
public abstract void show();
}
class Demo {
public void fun() {
// 创建了Test的子类对象,匿名嘛,米有名字
new Test() {
@Override
public void show() {
System.out.println("show");
}
// 定义自己特有的方法
public void eat() {
System.out.println("吃饭");
}
}.show();// 这个匿名内部类虽然有show()和eat()两个方法。但一次只能调用一个
new Test() {
@Override
public void show() {
System.out.println("show");
}
// 定义自己特有的方法
public void eat() {
System.out.println("吃饭");
}
}.eat();
// 父类类型的引用指向子类对象
Test t = new Test() {
@Override
public void show() {
System.out.println("show");
}
// 定义自己特有的方法
public void eat() {
System.out.println("吃饭");
}
};
t.show();//因为父类只有show()方法,多态是父类引用指向子类实例
}
}
public class Demo4 {
public static void main(String[] args) {
Demo demo = new Demo();
demo.fun();
}
}
匿名内部类
最新推荐文章于 2022-08-19 22:58:11 发布