java中多态_快速理解java中多态的含义

本文详细阐述了多态的实现机制,以Animal父类及其Dog、Cat子类为例,展示了如何通过继承、重写和父类引用指向子类对象来实现动态行为。只需改动少量代码即可替换动物种类,体现了多态带来的灵活性和代码复用性。
摘要由CSDN通过智能技术生成

多态的实现必须有三个条件

1:必须要有继承

2:必须要有重写

3:父类引用指向子类对象

上面三个条件缺一不可

举例:

假设现在有一个父类Animal,这里为了方便,使用抽象类,Animal有唱歌、散步这两个方法,应该所有的动物都有这两个动作吧!

public abstract class Animal(){

public abstract void sing();

public abstract void run();

}

如果这时候有Dog类和Cat类继承了此类,

Dog.java

public class Dog extends Animal(){

public void sing(){

System.out.println("狗叫");

}

public void run(){

System.out.println("狗散步");

}

}

Cat.java

public class Cat extends Animal(){

public void sing(){

System.out.println("猫叫");

}

public void run(){

System.out.println("猫散步");

}

}

Test.java

......省略导包

public class Test(){

public static void main(String [] args){

Animal animal=new Dog();

animal.sing();

animal.run();

}

]

此时运行的话,控制台会打印:

狗叫

狗散步

如果此时我们想换成猫,那么只需要改半行代码就可以了

public class Test(){

public static void main(String [] args){

Animal animal=new Catl();

animal.sing();

animal.run();

}

]

此时运行的话,控制台会打印:

猫叫

猫散步

........

以后想换其他的动物,只要改一下就可以了,方法啥的都不用变,这样就简单多了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值