JAVA内部类:多态和匿名内部类的结合使用
//父类
public class Fu{
public abstract void eat();
public abstract void sleep();
}
//main方法中:
把子类对象赋值给父类变量
Fu f 这是父类变量,下面红色代码块实际就是子类的匿名对象
Fu f = new Fu(){
//重写方法
public void eat(){
System.out.println("吃饭");
}
public void sleep(){
System.out.println("睡觉");
}
}
f.eat();
f.sleep();
多态的特点:编辑看左边,运行看右边
Animal c = new Cat(); 左边是 Animal 类(或接口) 右边是 Cat()类;
在编译的时候编译器不管你右边是什么类,只要左边的Animal类(或接口)能编译通过就不会报错。
但是运行的时候就要按照右边的Cat()类实际情况来运行。
浙公网安备 33010602011771号