今天老師講了多態的使用 多態是同一個行為具有多個不同表現形式或形態的能力。 多態的優點: 1. 消除類型之間的耦合關係 2. 可替換性 3. 可擴充性 4. 介面性 5. 靈活性 6. 簡化性 我個人認為 可替換性 可擴充性 靈活性 到是很充分的體現出來了。 現在就用問題來體現吧 !!! 1、創建一 ...
今天老師講了多態的使用
多態是同一個行為具有多個不同表現形式或形態的能力。
多態的優點: 1. 消除類型之間的耦合關係 2. 可替換性 3. 可擴充性 4. 介面性 5. 靈活性 6. 簡化性
我個人認為 可替換性 可擴充性 靈活性 到是很充分的體現出來了。
現在就用問題來體現吧 !!!
1、創建一個動物類 2、創建一個動物的數組,長度2個 3、創建一隻貓(有抓老鼠方法) 4、創建一條蛇(有冬眠方法) 就這個問題
5、分別把它們放在動物的數組中。
創建一個動物類:
package pkg26;
public class Animal{
private String name;
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
}
創建一隻貓類
package pkg26;
public class Cat extends Animal{
public void methodCat(){
System.out.println("我被一隻老鼠抓了");
}
}
創建一條蛇類
package pkg26;
public class Snake extends Animal{
@Override//@Override 是幫助自己檢查是否正確的覆寫了父類中已有的方法.
//告訴讀代碼的人,這是一個覆寫的方法
public void setName(String name){ //這個方法名一定要跟父類中的方法名setName一樣!!!
super.setName(name+"先生");//這是一個重寫的方法,可以比這個方法註釋起來,運行一遍和不註釋運行比較一下
}
public void methodSnake(){
System.out.println("我吞了一個大象");
}
}
創建一個動物的數組並分別把它們放在動物的數組中,
但是,這都是要藉助測試類才能實現的
下邊就是測試類:
package pkg26;
public class Test{ public static void main(String args[]){ Animal animals[] = new Animal[2]; animals[0] = new Cat();
//如果我要給一隻貓一個名字,那麼就要這樣做
/*
animals[0].setName("小白");//讓一隻貓叫小白
System.out.println(animals[0].getName());
*/ animals[1] = new Snake(); for(Animal o:animals){ //o.setName("123");//這的意思是把所有的動物的名字都設為123 System.out.println(o.getName()); } } }
JAVA的多態是很抽象的一個很重要的知識點,所以,要在這裡下很多很多功夫!!!
所以,帶著JAVA多態的優點把我上面的代碼反覆嘗試!!!這樣才能更好的學習!!!
還有,昨天,有一個人把我之前寫的也看了而且還評論了!!!自己寫的東西有人看 真的好開心!!!
加油!!!