提示:該文章是本人復習時總結,內容不全,請見諒,
Java面向物件知識點【封裝、繼承、多型、抽象】
- 前言
- 一、封裝
- 二、多型
- 三、繼承
- 四、抽象
前言
面向物件(Object Oriented)是軟體開發方法,一種編程范式,面向物件是一種對現實世界理解和抽象的方法,是計算機編程技術發展到一定階段后的產物,通過該文章可以大致了解到Java的面向物件的特征,
提示:以下是本篇文章正文內容,下面案例可供參考
**面向物件的四大特征:封裝、繼承、多型、抽象類,
一、封裝
-
封裝的含義:(自己理解)把一個物件屬性私有化,然后提供給你一些get和set方法,讓你來呼叫,訪問,
(書面理解)封裝也稱為資訊隱藏,是利用抽象資料型別將資料和基于資料的操作封裝在一起,使其構成一個不可分割的獨立物體,資料被保護在抽象資料型別的內部,盡可能地隱藏內部的細節,只保留一些對外介面使之與外部發生聯系,系統的其它部分只有通過包裹在資料外面的被授權的操作來與這個抽象資料型別交流與互動,也就是說,用戶無需知道物件內部方法的實作細節,但可以根據物件提供的外部介面(物件名和引數)訪問該物件, -
封裝的作用:封裝的作用在于保護或者防止代碼(資料)被我們無意中破壞,在面向物件程式設計中資料被看作是一個中心的元素并且和使用它的函式結合的很密切,從而保護它不被其它的函式意外的修改,
-
封裝的優點:
- 實作了專業的分工
將能實作某一特定功能的代碼封裝成一個獨立的物體后,各程式員可以在需要的時候呼叫,從而實作了專業的分工, - 隱藏資訊,實作細節
通過控制訪問權限可以將不想讓客戶端程式員看到的資訊隱藏起來,如某客戶的銀行的密碼需要保密,只能對該客戶開放權限,
4. 什么情況下封裝:撰寫實體類時,用到封裝有很多好處,其中比較實際的是: - 拒絕直接呼叫宣告欄位,保護內部資料,更安全;
- 在編程中可達到快取的效果,執行效率高;
- 重復呼叫,避免代碼冗余,程式撰寫效率高,
-
使用步驟:屬性私有化
a. 使用 private 修飾成員變數b. 提供公共的 get/setter 方法
c. setHealth、getHealth…
d.根基需求,在公共方法中添加合理的邏輯處理
6.類定義化規范:
a. 屬性私有化
b. 提供公共的getter/setter方法
c. 提供無參構造
d. 實作序列化介面(暫時了解)
7.訪問權限修飾符:
主要是控制類以及類中成員的訪問權限
java中的四種權限修飾符:public > protected > (default) > private
注意:(default)不是關鍵字“default”,而是不寫,

總結: 在不同包下面能夠訪問的權限修飾符只有: pulbic 與protected,但是 protected 必須要有繼承的關系才能夠訪問,
8. static 關鍵字:靜態的,
a. 修飾成員變數
- 變成 靜態變數/類變數,
- 成員變數(實體/物件變數),它是隨著物件的產生而產生的,每個物件資訊不共享,
- 類變數,它是隨著類的產生而產生的,每個物件該資訊共享,(類名.變數名)
b. 修飾成員方法
- 變成類方法,
例如:Arrays.toString(); (類名.方法名)無需創建物件,直接使用,
c. 修飾成員代碼塊
- 變為靜態代碼塊(暫時了解)
二、多型
1.多型的理解:一個事物具有多種形態,父類參考指向子類物件,
2. 什么是多型機制?Java語言是如何實作多型的
java的多型機制分為編譯時的多型【多載】和運行時的多型【重寫】,
多型的實作條件:繼承,重寫,向上轉型,
3.實作形式
a. 實作同一個介面,不同的實體,相同的動作,干不一樣的事,
b. 繼承同一個父類,重寫父類方法,干不同的事,
4. 多型的優點:
消除型別之間的耦合關系
可替換性
可擴充性
介面性
靈活性
簡化性
5. 多型存在的三個必要條件:
繼承,重寫,父類參考指向子類物件:Parent p = new Child();
6.多型的好處:無論右邊new的時候換成哪個子類物件,等號左邊呼叫方法都不會變化,
7.多型的弊端:只能使用父類的屬性方法,無法使用子類特有的內容
解決:可以使用向下轉型(強轉)
8. 物件的向上轉型:就是用父類的參考變數去參考子類的實體,這是允許的,
當向上轉型之后,父類參考變數可以訪問子類中屬于父類的屬性和方法,但是不能訪問子類獨有的屬性和方法(此時就要用向下轉型來還原),
向上轉型一定是安全的,
格式:父類名稱 物件名=new 子類名稱(); (左父右子)
9.物件的向下轉型:將父類物件【還原】成為本來的子類物件,
并不是所有的物件都可以向下轉型,只有當這個物件原本就是子類物件通過向上轉型得到的時候才能夠成功轉型,
格式:子類名稱 物件名=(子類名稱)父類物件;
10.重寫:
是存在子類與父類關系的兩個類中,是子類繼承的父類方法無法滿足子類需求時進行的,重寫的方法具有相同的名字,相同的引數串列,回傳型別為同類或子類,方法的修飾權限不能縮小,
11.多載:
指的是指一個類中多個方法具有相同的方法名,但是引數不同,是為了適用于在不同引數回傳值型別時均能呼叫同一方法而出現的,(與回傳值型別無關)
三、繼承
1.繼承的理解:
繼承就是子類繼承父類的特征和行為,使得子類物件(實體)具有父類的實體域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為,
2.繼承的格式:

3.繼承中成員變數的訪問方法:(在子父類的繼承關系當中,如果成員變數重名,在創建子類物件時,訪問有兩種方式)

4.繼承中成員方法的訪問特點:

5.繼承中的方法的覆寫重寫-概念與特點(覆寫重寫:對于已經有的功能,要想改的話就用覆寫重寫)


6.繼承中父子類構造方法的訪問特點:

繼承可以使用 extends 和 implements 這兩個關鍵字來實作繼承,
四、抽象
1.抽象類的由來:
父類中的方法,被它的子類們重寫,子類各自的實作都不盡相同,那么父類的方法宣告和方法主體,只有宣告還有意義,而方法主體則沒有存在的意義了,我們把沒有方法主體的方法稱為抽象方法,Java語法規定,包含抽象方法的類就是抽象類,
抽象類里可以沒有抽象方法,但是抽象方法一定在抽象類里,
2.抽象方法和抽象類的格式:

3.抽象方法和抽象類的使用:

4.注意事項:(重要)

1
到這里Java面向物件的知識就結束啦,感謝大家的耐心觀看.
如有不足,歡迎指出,共同進步! ??
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/272026.html
標籤:其他
