多态分为编译多态和运行多态,编译多态就是重载就不说了,说一下运行多态把!
假设有一个类 叫 鸟类,它拥有属性翅膀,拥有方法鸣叫,如下
public class Bird{ private Wing wing; public void moo(){ System.out.println("鸟叫声"); } } 123456
鸟类封装了 翅膀类和moo方法;另外有两个类都继承鸟类并重写了moo方法,分别是鹦鹉和麻雀如下:
鹦鹉类:
public class Parrot extends Bird{ public void moo(){ System.out.println("鹦鹉的叫声"); } } 12345
麻雀类:
public class Sparrow extends Bird{ public void moo(){ System.out.println("麻雀的叫声"); } } 12345
方法重写应该懂吧,不懂自己找书看吧;然后你有个妻子她想听鸟叫,就有个妻子类
public class Wife{ public void listen(Bird bird){ bird.moo(); } 1234
/*这时多态就很好的体现了,你妻子想听鸟叫,无论什么鸟都可以给她,但是你想让她和鹦鹉
*说话,你就买了一只鹦鹉传给listen方法,结果你妻子听到了鹦鹉的叫声,程序输出:鹦
*鹉的叫声
*/
public static void main(String[] args) { new Wife().listen(new Parrot()); } } 1234
多态实现了动态绑定,让程序有了很好的扩展性,比如你以后想买一只燕子送给你妻子,就只需要写个燕子类Swallow继承Bird方法就可以了,而不需要再在妻子类里添加一个方法listen(Swallow swallow)……上面编码没用编译器,可能有错误,请谅解!
*网上看到的一个理解多态的,感觉不错!
相关知识
举例理解java的多态,通俗,易懂
Java笔记:多态polymorphic
编写程序模拟“主人”喂养“宠物”的场景,利用多态的思想。
使用多态实现主人领养宠物并与宠物玩耍
java测试类pet
java练习题
编写程序模拟“主人”喂养“宠物”的场景,利用多态的思想!!!
多态使用案例
Java任务项目
java用继承编写宠物乐园
网址: 举例理解java的多态,通俗,易懂 https://m.mcbbbk.com/newsview147471.html
上一篇: java任务项目——学生喂养三种 |
下一篇: 鸟类健康 |