Java面向對象編程有三大特性,它們是封裝、繼承和多態。 封裝: 字面上來說就是將一個東西包裹起來,這樣會掩飾掉內部的細節。怎麼樣?這麼一說是不是有點想法。 將類封裝起來,只提供想提供的方法介面,而不需要提供具體實現細節,這樣一來使得程式更加健壯。 另一方面比方說項目做到一半換人了,老闆現在要求吧代 ...
Java面向對象編程有三大特性,它們是封裝、繼承和多態。
封裝:
字面上來說就是將一個東西包裹起來,這樣會掩飾掉內部的細節。怎麼樣?這麼一說是不是有點想法。
將類封裝起來,只提供想提供的方法介面,而不需要提供具體實現細節,這樣一來使得程式更加健壯。
另一方面比方說項目做到一半換人了,老闆現在要求吧代碼改了,有了封裝之後,你完全不用管前人寫的爛代碼,只需要給出必須
的介面方法,就可以自己寫自己的了,修改方便。
怎麼封裝呢?使用訪問修飾符。還記得類的訪問修飾符麽,只能寫public或者預設不寫。
在類裡面可以使用public、protected、預設不寫或者private。這四個修飾符的訪問許可權越來越低。
還有一種方法,使用內部類。使用內部類能夠更好的完成封裝,有關內部類的詳細介紹,請看下篇文章。
繼承:
繼承很明顯就是從一個已有的類那得到一些東西,能夠很好的實現代碼的重用性。
被繼承的類稱之為父類或者超類,繼承父類的類稱為子類。Java中所有類都是Object類的子類。
另外JAVA中只允許單繼承,這樣一來避免了多繼承帶來的代碼過度耦合的問題。
雖然不能多繼承,但是java中可以實現多個介面,來實現功能的擴展。
多態:
指的是子類對象可以賦值給父類變數,但運行是仍表現出子類的行為特征,這意味著同一個類型的對象在執行同一個方法時,可以
表現出多種行為特征。
簡單來說,就是程式中同名的不同方法。
那麼,怎麼實現多態呢?
例如,可以通過子類對父類方法的覆蓋實現,還可以通過一個類中方法的重載,還可以通過將子類的對象作為父類的對象實現多
態。
子類將父類方法覆蓋,指子類繼承了父類的方法,對方法名、參數和類型不做修改,而僅僅改動方法的實現。
這時候調用被覆蓋的父類欄位和方法時,需使用super關鍵字。但需要註意,父類中聲明為static、final的方法不能被覆蓋。
而且聲明為final的類的所有方法不允許被覆蓋。
另一種實現多態的方法,在類中定義同名但參數不同的方法,包括參數類型不同、參數個數 不同,即方法的重載來實現多態。簡單
的例子:
run(int i){}
run(char c){}
run(int i,char c){}
還可以通過對象引用實現多態,具體含義指引用型變數可以指向不同類型的對象
舉個例子,公司里有職員和管理兩類人,但是管理本身也是職員,也就是管理類繼承自職員類。
對於職員類型變數不僅可以表示職員還可以表示管理類對象。
多態大大提高了程式的抽象程度,降低了類和程式模塊之間的耦合性,也提高了類模塊的封閉性。
由於小編水平有限,如有不足,還請不吝賜教!!!此處也是重點,記下記下。微信搜索關註油墨山公眾號,獲取更多文章資訊!!!
◆◆油墨未乾,為何停下雙手!◆◆
感謝關註!
微信號:youmoshan