韩顺平循序渐进学java 第12讲 多态
生活随笔
收集整理的這篇文章主要介紹了
韩顺平循序渐进学java 第12讲 多态
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
12.1?多態-四大特征之四
12.1.1?概念
所謂多態,就是指一個引用(類型)在不同情況下的多種狀態。
可以這樣理解:多態是指通過指向父類的指針,來調用在不同子類中實現的方法。
12.1.2?注意事項
在講解多態的時候,我們注意到這樣一個現象-類型的轉換。
1、java允許父類的引用變量引用它的子類的實例(對象)
Animal?animal=new?Cat();
2、關于類型轉換還有一些細節要求,比如子類能不能轉換成父類,有什么要求等等...
?
多態代碼演示:
1 /**日期:2016-03-04 2 * 功能:多態的演示 3 */ 4 public class Practice 5 { 6 public static void main(String []args) 7 { 8 Master master=new Master(); 9 master.feed(new Cat(), new Fish()); //調用子類 10 } 11 } 12 13 class Master //類主人 14 { 15 public void feed(Animal animal, Food food) //多態的方法,可以利用父類調用子類, 16 //這里的代碼可以在增加子類的時候保持不動,很方便 17 { 18 animal.getName(); 19 food.eat(); 20 } 21 } 22 23 class Animal //父類動物 24 { 25 String name; 26 public void getName() 27 { 28 System.out.println("不知道是什么動物!"); 29 } 30 } 31 32 class Cat extends Animal //動物的子類貓 33 { 34 public void getName() 35 { 36 System.out.println("這是一只貓!"); 37 } 38 } 39 40 class Dog extends Animal //動物的子類狗 41 { 42 public void getName() 43 { 44 System.out.println("這是一只狗!"); 45 } 46 } 47 48 class Food //父類食物 49 { 50 String name; 51 public void eat() 52 { 53 System.out.println("不知道是什么食物!"); 54 } 55 } 56 57 class Fish extends Food //食物的子類魚 58 { 59 public void eat() 60 { 61 System.out.println("貓愛吃魚!"); 62 } 63 } 64 65 class Bone extends Food //食物的子類骨頭 66 { 67 public void eat() 68 { 69 System.out.println("狗愛骨頭!"); 70 } 71 }運行結果:
1 這是一只貓! 2 貓愛吃魚!?
轉載于:https://www.cnblogs.com/PistonType/p/5243875.html
總結
以上是生活随笔為你收集整理的韩顺平循序渐进学java 第12讲 多态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeForces 361B Levk
- 下一篇: 已超过了锁请求超时时段。 (Micros