java三大特性的關係?

weixin_34353714發表於2017-09-28

                        java/架構/大資料 提供技術問答和技術扶持 群號是:231158925

           我給你詳細解決下java這三大特性,希望對你以後在學習的過程中有所幫助:

首先:Java是一種跨平臺的面嚮物件語言,簡單易用功能強大,封裝,繼承,多型是他的三大特點。

8141920-e8271fb8b2d7fcb4.png

封裝

1.封裝把一個物件的屬性私有化,同時提供一些可以被外界訪問的屬性的方法(getter,setter),如果不想被外界方法,我們大可不必提供方法給外界訪問。

2.封裝確實可以使我們容易地修改類的內部實現,而無需修改使用了該類的客戶程式碼。

3.可以對成員變數進行更精確的控制。(在setter方法中進行實際意義的校驗)

總結:控制屬性訪問許可權,不是你想改就能改。容易修改屬性型別。精確控制屬性的取值範圍。

8141920-6bffb6cf87bda6af.png

繼承

1.繼承是使用已存在的類的定義作為基礎建立新類的技術,新類的定義可以增加新的資料或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。

2.子類擁有父類非private的屬性和方法。

3.子類可以擁有自己屬性和方法,即子類可以對父類進行擴充套件。

4.子類可以用自己的方式實現父類的方法。

構造器><向上轉型>是三個不得不提的詞。

構造器

除了private之外,還有一些是子類不能繼承的。比如:構造器只能被呼叫,而不能被繼承。呼叫父類只要使用super()即可。子類會預設呼叫父類的預設構造器,如果沒有預設構造器,就必須顯式指出構造器。

protected

對於protected而言,它指明就類使用者而言,他是private,但是對於任何繼承與此類的子類而言或者其他任何位於同一個包的類而言,他卻是可以訪問的。

向上轉型: 將子類轉換成父類,在繼承關係上面是向上移動的,所以一般稱之為向上轉型。由於向上轉型是從一個叫專用型別向較通用型別轉換,所以它總是安全的,唯一發生變化的可能就是屬性和方法的丟失。這就是為什麼編譯器在“未曾明確表示轉型”活“未曾指定特殊標記”的情況下,仍然允許向上轉型的原因。

總結:問一問自己是否需要從子類向父類進行向上轉型。如果必須向上轉型,則繼承是必要的,但是如果不需要,則應當好好考慮自己是否需要繼承.

8141920-ece8408ec9ca868c.png

多型 】

1.多型就是指程式中定義的引用變數所指向的具體型別和通過該引用變數發出的方法呼叫在程式設計時並不確定,而是在程式執行期間才確定,即一個引用變數倒底會指向哪個類的例項物件,該引用變數發出的方法呼叫到底是哪個類中實現的方法,必須在由程式執行期間才能決定。因為在程式執行時才確定具體的類,這樣,不用修改源程式程式碼,就可以讓引用變數繫結到各種不同的類實現上,從而導致該引用呼叫的具體方法隨之改變,即不修改程式程式碼就可以改變程式執行時所繫結的具體程式碼,讓程式可以選擇多個執行狀態,這就是多型性。

2.指向子類的父類引用由於向上轉型了,它只能訪問父類中擁有的方法和屬性,而對於子類中存在而父類中不存在的方法,該引用是不能使用的,儘管是過載該方法。若子類重寫了父類中的某些方法,在呼叫該些方法的時候,必定是使用子類中定義的這些方法(動態連線、動態呼叫)。

Java的三大特性是Java開發中最基礎也是最重要的概念,對這三個概念的理解只能越來越深入,但是絕對沒有盡頭。尤其要注意自己的心態,絕對不能急躁,要在最簡單的問題上耐得住性子,思考思考再思考,真正內化於心。

這就是我對java三大特性的解釋和建議,希望對你有所幫助。

相關文章