一.多型
1.定義
多型:是一種事物的多種狀態或形態
2.前提
1).類與類之間必須有繼承關係
2).必須有方法的重寫否則就沒有意義
3).父類的引用指向子類的空間
public
class
day08
}建立三個類:
動物類 吃
貓類 吃魚
狗類 吃骨頭
class
animal
}class
catextends
animal
}class
dogextends
animal
}
3.使用多型方法訪問成員變數和成員方法
當使用多型形式建立物件時
訪問成員變數:
編譯時:要看父類中有沒有該變數,沒有就報錯
執行時:最終訪問的成員變數是父類中的成員變數
總結:訪問成員變數時編譯和執行都要看父類的
訪問成員方法:
編譯時:看父類中有沒有該方法
執行時:最終執行的是子類中的方法
總結:訪問成員方法時編譯看父類的執行看子類的
public
class
day08
}class
father
}class
sonextends
father
}
記憶體表現見下圖:
4.多型的好處和弊端
好處:
1.提高工作效率,增強**的復用性
2.增強方法的擴充套件性(使用父類當做方法的引數時可以增強方法的擴充套件性)
弊端:
1.使用多型的形式無法呼叫子類的特有方法
public
class
day08
}//建立三個類
class
person
}//繼承person類
class
pzextends
person
//特有方法
public
void hit()
}
多型的好處:使用父類當做方法引數,該方法可以接收**類的所有子類物件
public
class
day08
//通用撿裝備的方法
//使用父類當做方法引數,該方法可以接收**類的所有子類物件
public
static
void jianzb(wuqi wq) else
if (wq instanceof jian)
}}//**類
class
wuqi
}//刀類
class
daoextends
wuqi
//特有方法
public
void liandao()
}//劍類
class
jian
extends
wuqi
//特有的方法
public
void lianjian()
}
java之物件導向
類是用於描述同一型別的物件的乙個抽象。類中定義了這一類物件所具有的靜態和動態屬性 靜態屬性 成員變數 動態屬性 方法 1 類可以看成是一類物件的模板,物件可以看成該類的乙個具體例項 2 首先必須定義類才能有物件 說到類,就不得不說構造其構造方法了 在new乙個物件是,呼叫的就是類中的構造方法 列如p...
java學習筆記(四)之物件導向
成員變數和靜態變數的區別 1,兩個變數的生命週期不同。成員變數隨著物件的建立而存在,隨著物件的被 而釋放。靜態變數隨著類的載入而存在,隨著類的消失而消失。2,呼叫方式不同。成員變數只能被物件呼叫。靜態變數可以被物件呼叫,還可以被類名呼叫。3,別名不同。成員變數也稱為例項變數。靜態變數稱為類變數。4,...
Java基礎學習摘要之物件導向
形式引數和返回值 方法的形參 方法返回值 基本資料型別,傳遞對應的資料型別的這種值 引用資料型別 引用型別是 具體 類 需要傳遞該類的具體物件 抽象類 需要傳遞的是該抽象類的子類物件 介面 需要傳遞該介面的子實現類物件在乙個類a中定義另乙個類b,類b就是類a的內部類.內部類的分類 不管是成員內部類還...