歡迎光臨新長城部落格中心
物件導向
多型:
多型的概述:某一類事物的多種存在的多種形態。1、多型的體現
父類的引用指向了自己的子類物件。2、多型的前提父類的引用也可以接收自己的子類物件。
必須是類與類之間有關係。要麼繼承,要麼實現。3、多型的好處通常還有乙個前提:存在覆蓋。
多型的出現大大的提高程式的擴充套件性。4、多型的弊端
提高了擴充套件性,但是只能使用父類的引用訪問父類中的成員。5、多型的應用
abstract classanimal
class
cat
extends
animal
public void
catchmouse()
}
class
dog
extends
animal
public void
kanjia()
}
class
pig
extends
animal
public
void
gongdi()
}
class
duotaitest
public static voidfunction(animal a)
else
else if
(a instanceof
dog)
else if
(ainstanceof
pig())
}
//instanceof :
用於判斷物件的型別。
//物件 intanceof 型別(類型別 介面型別)
}
}
多型注意:
成員的特點:
1、成員變數。
編譯時:參考引用型變數所屬的類中的是否有呼叫的成員變數,有,編譯通過,沒有,編譯失敗。2、成員函式(非靜態)。執行時:參考引用型變數所屬的類中的是否有呼叫的成員變數,並執行該所屬類中的成員變數。
簡單總結:編譯和執行都參考等號的左邊。哦了。
編譯時:參考引用型變數所屬的類中的是否有呼叫的函式。有,編譯通過,沒有,編譯失敗。3、靜態函式。執行時:參考的是物件所屬的類中是否有呼叫的函式。
簡單總結:編譯看左邊,執行看右邊。
因為成員函式存在覆蓋特性。
編譯時:參考引用型變數所屬的類中的是否有呼叫的靜態方法。總結:非靜態成員函式,編譯時看左邊,執行時看右邊。其他都看左邊。執行時:參考引用型變數所屬的類中的是否有呼叫的靜態方法。
其實對於靜態方法,是不需要物件的。直接用類名呼叫即可。
簡單總結:編譯和執行都看左邊。
多型學後感:其實我們生活中有很多地方也是用到多型的,比如生活的角色扮演,是兒子的話,看到爸爸應該叫爸爸,是學生看到老師,應該叫老師,我們扮演的角色在時時刻刻的進行不斷的變化,這就是多型。
java 物件導向多型
1 多型性 1 方法的過載和重寫 2 物件的多型性 2 物件的多型性 1 向上轉型 程式會自動完成 父類 父類物件 子類例項 2 向下轉型 強制型別轉換 子類 子類物件 子類 父類例項 3 案例 package csdn.zyl.demo class a12 public void tell2 cl...
Java物件導向 六 多型
多型的最終體現 父類引用變數可以指向子類物件 多型的前提 必須有子父類關係或者類實現介面的關係,否則無法完成多型 在使用多型後的父類引用變數呼叫方法時,會呼叫子類重寫後的方法 多型的定義格式 就是父類引用變數指向子類物件 父類引用變數 變數名 new 子類型別 變數名.方法名 class fu cl...
Java基礎 物件導向(五)多型
一 概述 物件的多型性 class 動物 class 貓 extends 動物 class 狗 extends 動物 class demo 貓這類食物既具備貓的形態,又具備動物的形態。這就是多型性。簡單說 就是乙個物件對應著不同型別 提高了 的擴充套件性,前期定義的 可以使用後期的內容。abstra...