目錄:2.存在條件1,多型的概念?
2,存在的條件?
3,案列解析?
4,應用場景?
1,多型的概念
父類引用指向子類物件,通俗點就是,在編譯時不繫結是什麼方法,根據你傳進來的值,是什麼就會執行什麼。
第一,要有繼承
第二,要有方法的重寫
第三,父類引用指向子類物件
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操作符用於檢查物件...