Java學習路程之物件導向的多型

2021-08-26 09:31:30 字數 1764 閱讀 2443

一.多型

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的內部類.內部類的分類 不管是成員內部類還...