java三大特性的關係?
java/架構/大資料 提供技術問答和技術扶持 群號是:231158925
我給你詳細解決下java這三大特性,希望對你以後在學習的過程中有所幫助:
首先:Java是一種跨平臺的面嚮物件語言,簡單易用功能強大,封裝,繼承,多型是他的三大特點。
【封裝】
1.封裝把一個物件的屬性私有化,同時提供一些可以被外界訪問的屬性的方法(getter,setter),如果不想被外界方法,我們大可不必提供方法給外界訪問。
2.封裝確實可以使我們容易地修改類的內部實現,而無需修改使用了該類的客戶程式碼。
3.可以對成員變數進行更精確的控制。(在setter方法中進行實際意義的校驗)
總結:控制屬性訪問許可權,不是你想改就能改。容易修改屬性型別。精確控制屬性的取值範圍。
【繼承】
1.繼承是使用已存在的類的定義作為基礎建立新類的技術,新類的定義可以增加新的資料或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。
2.子類擁有父類非private的屬性和方法。
3.子類可以擁有自己屬性和方法,即子類可以對父類進行擴充套件。
4.子類可以用自己的方式實現父類的方法。
構造器><向上轉型>是三個不得不提的詞。
構造器:
除了private之外,還有一些是子類不能繼承的。比如:構造器只能被呼叫,而不能被繼承。呼叫父類只要使用super()即可。子類會預設呼叫父類的預設構造器,如果沒有預設構造器,就必須顯式指出構造器。
protected:
對於protected而言,它指明就類使用者而言,他是private,但是對於任何繼承與此類的子類而言或者其他任何位於同一個包的類而言,他卻是可以訪問的。
向上轉型: 將子類轉換成父類,在繼承關係上面是向上移動的,所以一般稱之為向上轉型。由於向上轉型是從一個叫專用型別向較通用型別轉換,所以它總是安全的,唯一發生變化的可能就是屬性和方法的丟失。這就是為什麼編譯器在“未曾明確表示轉型”活“未曾指定特殊標記”的情況下,仍然允許向上轉型的原因。
總結:問一問自己是否需要從子類向父類進行向上轉型。如果必須向上轉型,則繼承是必要的,但是如果不需要,則應當好好考慮自己是否需要繼承.
【多型 】
1.多型就是指程式中定義的引用變數所指向的具體型別和通過該引用變數發出的方法呼叫在程式設計時並不確定,而是在程式執行期間才確定,即一個引用變數倒底會指向哪個類的例項物件,該引用變數發出的方法呼叫到底是哪個類中實現的方法,必須在由程式執行期間才能決定。因為在程式執行時才確定具體的類,這樣,不用修改源程式程式碼,就可以讓引用變數繫結到各種不同的類實現上,從而導致該引用呼叫的具體方法隨之改變,即不修改程式程式碼就可以改變程式執行時所繫結的具體程式碼,讓程式可以選擇多個執行狀態,這就是多型性。
2.指向子類的父類引用由於向上轉型了,它只能訪問父類中擁有的方法和屬性,而對於子類中存在而父類中不存在的方法,該引用是不能使用的,儘管是過載該方法。若子類重寫了父類中的某些方法,在呼叫該些方法的時候,必定是使用子類中定義的這些方法(動態連線、動態呼叫)。
Java的三大特性是Java開發中最基礎也是最重要的概念,對這三個概念的理解只能越來越深入,但是絕對沒有盡頭。尤其要注意自己的心態,絕對不能急躁,要在最簡單的問題上耐得住性子,思考思考再思考,真正內化於心。
這就是我對java三大特性的解釋和建議,希望對你有所幫助。
相關文章
- Scala與Java的關係Java
- JavaScript和Java的關係JavaScript
- 【java】類之間的關係Java
- 特殊特性與FMEA之間的關係是什麼?
- 關係錶轉dooris 的java 指令碼Java指令碼
- Java面試題:Java中的集合及其繼承關係Java面試題繼承
- java物件關係對映ROMJava物件
- MediaScanner Java, JNI, mediaservice 呼叫關係Java
- Java設計模式-類之間的關係Java設計模式
- Java中常見的集合容器類關係圖Java
- Java中類名與檔名的關係Java
- Java類關係之代理(代理模式)Java模式
- Java 和 JavaScript 是什麼關係?JavaScript
- MongoDB、Java與物件關係對映MongoDBJava物件
- MongoDB、Java和物件關係對映MongoDBJava物件
- FAILGROUP和REDUNDANCY之間的關係關係!AI
- 關聯關係與依賴關係的區別
- 在Java中,以下有關類的關聯關係描述錯誤的是()Java
- Java中類與物件的關係與區別Java物件
- 基於java的客戶關係管理系統Java
- 【JAVA今法修真】 第三章 關係非關係 redis法器JavaRedis
- 表的關聯關係
- 與if的關係
- JAVA的特性Java
- Sun 公司的 Java 跟 Android 使用的 Java 庫有什麼關係?JavaAndroid
- JAVA類的頂層Type抽象和繼承關係Java抽象繼承
- 關於CMP的關係,求教...
- 關係
- java繼承關係下執行順序Java繼承
- 奈學:Java 和 JavaScript 是什麼關係?JavaScript
- 【集合論】二元關係 ( 二元關係記法 | A 到 B 的二元關係 | 二元關係個數 | 二元關係示例 )
- MySQL與Java常用資料型別的對應關係MySqlJava資料型別
- 【集合論】序關係 ( 哈斯圖示例 | 整除關係哈斯圖 | 包含關係哈斯圖 | 加細關係哈斯圖 )
- Java程式和執行緒關係及區別Java執行緒
- java的類之間的關係:泛化、依賴、關聯、實現、聚合、組合Java
- [java基礎]之JVM/JRE/JDK三者的關係JavaJVMJDK
- #JAVA#物件導向(繼承中成員方法的關係)Java物件繼承
- Solr的關鍵特性Solr