深入理解Java多型機制

2021-08-07 15:13:45 字數 1404 閱讀 2908

目錄:

1,多型的概念?

2,存在的條件?

3,案列解析?

4,應用場景?

1,多型的概念

父類引用指向子類物件,通俗點就是,在編譯時不繫結是什麼方法,根據你傳進來的值,是什麼就會執行什麼。

2.存在條件

第一,要有繼承

第二,要有方法的重寫

第三,父類引用指向子類物件

3,案列解析

好好體會以下這個案例,通過debug,就知道他的執行流程,最後看看輸出的結果是什麼玩意兒,其實這是一道阿里實習生的一道筆試題。

**:

public

class

demo

void test()

}class

subextends

super

void test()

}public

static

void main(string args)

}附:最後給出輸出結果

sub.test()flag=1

sub.sub()flag=5

4 ,應用場景?此處挑選乙個典型的案列,j2ee servlet中的應用。

/**

* 採用反射+多型實現乙個通用的servlet,根據使用者請求的方法完成相應方法的呼叫

// 3.獲取方法物件

// 4.讓方法執行 返回值為請求**的路徑

string s=(string) method.invoke(this, request,response);//相當於 userservlet.add(request,response)

// 5.判斷s是否為空

}

下面是他的乙個子類,通過繼承當前servlet

public

class

indexservlet

extends

baseservlet

}

java多型深入理解 一

很多人都知道物件導向的三大特性 繼承 封裝 多型,可是真正理解好這三特性並不是一件簡單的事.本週我打算對多型進行研究並寫下我的小例子 樂器類 class musicinstruments public void instruments musicinstruments instruments 笛子類...

深入理解多型

能將每個函式都申明為虛函式,但是會影響效率,不建議這樣做,虛函式指標呼叫重寫函式是在程式執行時候進行的,因此需要一些定址操作才能真正呼叫函式,如果都設定成虛函式,效率會低很多 多型的實現效果 呼叫同樣的語句能表現不同的表現形式 多型實現的三個條件 有繼承,有虛函式重寫,有父類指標指向子類物件 多型的...

深入理解多型

1 黎克特制替換 概述 在子類物件中可以替換所有使用的父類物件 原則 父類物件是不能替換子類物件的 應用 使繼承復用成為可能,當子類可以替換父類時,軟體功能不受影響,父類才能真正被復用,而子類也能夠在父類的基礎上增加新的行為 關鍵字 is和a操作符 2 is和as操作符的使用 is操作符用於檢查物件...