**面向物件三大特性 **
封裝
將抽象性函式介面的實作細節部分包裝、隱藏起來
優點:
- 良好的封裝能夠減少耦合,
- 類內部的結構可以自由修改,
- 可以對成員變數進行更精確的控制,
- 隱藏資訊,實作細節,
實作:把屬性設為private型別,提供get\set方法,
繼承
優點: 提高維護性,代碼更加簡潔,提高代碼的復用性(復用性主要是可以多次使用,不用再多次寫同樣的代碼),
缺點:類之間的耦合高,代碼獨立性差,
特性:
子類擁有父類非 private 的屬性、方法,
子類可以用自己的方式去實作父類的方法且可以對父類進行擴展,
可以單繼承、多重繼承,不可以多繼承(一個類繼承一個以上的類)
關鍵字:
extends(繼承)
implenments(實作)
super關鍵字:實作對父類成員的訪問(在子類方法中super.方法),用來參考當前物件的父類,
this關鍵字:指向自己的參考,
final關鍵字:宣告類可以把類定義為不能繼承的;用于修飾方法,該方法不能被子類重寫:定義實體變數,不能被修改,
重寫是子類對父類的允許訪問的方法的實作程序進行重新撰寫,即定義屬于自己的行為特點,主在程序,
- 引數串列與被重寫方法的引數串列必須完全相同,
回傳型別與被重寫方法的回傳型別可以不相同,但是必須是父類回傳值的派生類(java5 及更早版本回傳型別要一樣,java7 及更高版本可以不同),
訪問權限不能比父類中被重寫的方法的訪問權限更低,例如:如果父類的一個方法被宣告為 public,那么在子類中重寫該方法就不能宣告為 protected,
宣告為 final 的方法不能被重寫,
宣告為 static 的方法不能被重寫,但是能夠被再次宣告,
子類和父類在同一個包中,那么子類可以重寫父類所有方法,除了宣告為 private 和 final 的方法,
子類和父類不在同一個包中,那么子類只能夠重寫父類的宣告為 public 和 protected 的非 final 方法,
重寫的方法能夠拋出任何非強制例外,無論被重寫的方法是否拋出例外,但是,重寫的方法不能拋出新的強制性例外,或者比被重寫方法宣告的更廣泛的強制性例外,反之則可以,
構造方法不能被重寫,
如果不能繼承一個類,則不能重寫該類的方法,
多載是在一個類里面,方法名字相同,而引數不同,回傳型別可以相同也可以不同,
- 被多載的方法必須改變引數串列(引數個數或型別不一樣); 被多載的方法可以改變回傳型別; 被多載的方法可以改變訪問修飾符;
被多載的方法可以宣告新的或更廣的檢查例外;
多型
三個必要條件:繼承、重寫、父類參考指向子類物件
優點:使程式有良好的擴展,對所有類的物件進行通用處理
1.可替換性:多型對已存在的代碼具有可替換性,
2.可擴充性:多型對代碼具有可擴充性,增加新的子類不影響已存在類的多型性、繼承性,以及其他特性的運行和操作,實際 上新加子類更容易獲得多型功能,
3.介面性:多型是超類通過方法簽名,向子類提供了一個共同介面,由子類來完善或者覆寫它而實作的,
4.靈活性:它在應用中體現了靈活多樣的操作,提高了使用效率,
5.簡化性:多型簡化了對應用軟體的代碼撰寫和修改程序,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/262186.html
標籤:java
上一篇:并發編程核心——九、阻塞佇列
下一篇:深入理解java的 抽象類和介面
