多态实例及其问题

class Animal{
public int age;

public void info(){ //若该方法不写,就达不到重写(覆盖)的目的,实现不了多态,且程序编译会出错。
System.out.println("父类方法");
}
//错误提示如下:
/* Dm.java:23: 找不到符号
符号: 方法 info()
位置: 类 Animal
a.info();
^
Dm.java:26: 找不到符号
符号: 方法 info()
位置: 类 Animal
a.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();
}
}
/*------------------------
我是一只鸟!
我是一只鱼!
------------------------*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值