繼承
繼承,它是說明一個類“正好像另一個類,只不過……”的能力。
3.1擴展類
重載和重寫之間有著細微的差別。當重載一個方法名稱時,Java會依據傳遞給該方法的參數來決定使用哪個版本。當重寫一個方法時,Java會依據在哪個對象上調用該方法來決定使用哪個版本。
3.1.1多態性和繼承性
封裝性:就是一個盒子,你把某個功能,某個組件,放在里面,從而形成一個整體,隱藏內部的具體實現,給出你要給出的服務。
繼承性:就是有共性,能繼承,打個比方,類A的功能是a,B的功能是b,C具有功能a,b,C就不用在編寫a,b,繼承A,B就行了,就像發動機,你要用發動機,又不想再造的話,就得繼承。
多態性:就是多種狀態,就是同名但有區別,java里面的元素只要有區別就有多態,比如變量,他在同一個函數的不同位置可以同名吧,還有函數名,很顯然,這個就是多態了,說的復雜一點,就是你要實現一個相同的功能,但又有不同,比如返回,即結果不同,不如輸入不同,但有個相同的名字,這就是多態了。
3.3包和訪問級別
一個方法封裝一個算法。一個類封裝狀態(字段)和行為(方法)。包(它包含許多類)甚至提供了更大規模的封裝。
訪問級別:
每個字段或方法都有一種訪問級別(access level),指示哪些類可以訪問它。訪問級別提供了信息隱藏。
私有(private)字段或方法只在聲明它的類中是可見的。
公共(public)字段或方法在任何地方都可見。
受保護的(protected),對于同一個包中或者是同一個包的后代的任何類都是可見的。
3.5術語
has-a:一個類與其字段之一的類之間的關系。
Is-a:子類與超類之間的關系。
超類(superclass):被另一個類擴展的類。