class Animal{public int age;
public void info(){ //若该方法不写,就达不到重写(覆盖)的目的,实现不了多态,且程序编译会出错。System.out.println("父类方法");}//错误提示如下:/* Dm.java:23: 找不到符号符号: 方法 info()位置: 类 Animala.info();^Dm.java:26: 找不到符号符号: 方法 info()位置: 类 Animala.info(); */}class Bird extends Animal {public void info() {System.out.println("我是一只鸟!");}}
class Fish extends Animal {public void info() { //如这个方法没重写,会默认调用父类的同名方法System.out.println("我是一只鱼!");}}
public class Dm{public static void main(String[] args){Animal a = new Bird(); //将子类对象的引用赋给父类的引用(或者说,将父类的引用a指向鸟这个实例(对象))a.info();a = new Fish();a.info();}}/*------------------------我是一只鸟!
我是一只鱼!------------------------*/
多态实例及其问题
最新推荐文章于 2023-04-17 18:57:55 发布