java入門之物件導向4

2021-08-13 05:17:44 字數 1504 閱讀 2762

多型的規則(前提):

1類與類之間要建立關係 建立繼承的關係

2.必須要有方法重寫

3.父類的指標(引用) 指向 子類的物件(空間)

需求:建立 動物類 貓類 狗類

都有乙個吃的方法 動物類 吃

貓 貓吃魚

狗 狗吃骨頭

public

class

demo01

}class

animal

}class

catextends

animal

}class

dogextends

animal

}

多型時 成員變數如何呼叫的?

多型時 當父類引用 呼叫成員變數

編譯需要看父類中有沒有這個成員變數 沒有編譯不會通過

執行 訪問的就是父類中的這個成員變數

編譯 和 執行 父類訪問成員變數看父類(看父類)

思考:son s = new son();

s.num 列印的是什麼 在記憶體中如何表現

多型時 如何訪問成員方法?

多型呼叫 成員方法時

編譯時 看父類中有沒有這個方法 沒有 就報錯

執行時 執行 執行子類的這個方法

多型呼叫成員方法時

編譯看父類

執行看子類

public

class

demo02

}class

father

}class

sonextends

father

}

多型

好處:1.增強**可以維護性(建立在繼承的基礎上)

2.增強方法的可擴充套件性(核心)

弊端:不能呼叫直接呼叫子類特殊方法

public class demo03 class person}

class lie extends person

public void hit()

}舉乙個 例子

需求:**類 打 揮舞**

刀 打 揮舞刀 —砍人

練功 —-練刀

劍類 打 揮劍—–刺人

練功 耍劍

public

class

demo04

public

static

void fun(weapon w) else

if (w instanceof sword)

}}class

weapon

}class

blade

extends

weapon

public

void pratice()

}class

sword

extends

weapon

public

void pratice()

}

java之物件導向

類是用於描述同一型別的物件的乙個抽象。類中定義了這一類物件所具有的靜態和動態屬性 靜態屬性 成員變數 動態屬性 方法 1 類可以看成是一類物件的模板,物件可以看成該類的乙個具體例項 2 首先必須定義類才能有物件 說到類,就不得不說構造其構造方法了 在new乙個物件是,呼叫的就是類中的構造方法 列如p...

Java入門之物件導向三大特徵

一 封裝 每個物件包含它能進行操作所需要的所有資訊,這個特性稱為封裝,因此物件不必依賴其他物件來進行自己的操作。將方法 屬性 字段包裝在類中,通過例項化類來生成物件。封裝的好處 1 好的封裝能減少耦合 2 類內部的實現可以自由修改 3 類具有清晰的對外介面 封裝就像建房子,類就是房子,屬性是門窗,欄...

java之物件導向2

作用 對物件的屬性 成員變數 進行初始化的 寫法 1.構造方法名與類名完全相同相同 大小寫必須一樣 2.沒有返回值型別 連void都不寫 3.沒有返回值 沒有 return public class demo01 class person 需求 寫乙個有引數的構造方法 public person s...