更新時間:2022-06-08 10:55:42 來源:動力節點 瀏覽1175次
什么是Java封裝?動力節點小編來為大家解答。
1.類有成員屬性和方法兩個部分組成,二者都可以供其它類去調用。方法作為一個功能的實現,被調用時不會產生什么問題,屬性卻不一樣,它是屬于類和對象的,容易被“非法篡改”。
例如:定義一個類people,有姓名和財產等屬性,默認值是:張三和12000.有show方法,輸出姓名和財產。定義一個測試類,修改張三的money為-10000;
2.此案例可以看出類和對象的屬性毫無隱蔽性可言,可以被隨意修改,這樣設計出的程序會有很大的安全性問題。
3.為了解決這個問題,java開發者提出了封裝的思想。將類的成員屬性的訪問修飾符規定為私有(private),這樣該屬性在其它類就不能調用,更不可能被修改。這相當于閉關鎖國政策,所以又面臨一個問題:連成員屬性的正常賦值也不可能在其它類中實現。因此設計者們再次提出了一個方案:成員屬性可以間接地在其它類中被訪問,也就是中間要設置一道檢查和過濾的關卡,這道關卡就是get和set方法,它們被稱為getter和setter.
下面我們對剛才的案例進行改進。
實現封裝總結:
(1)屬性訪問修飾符定義為私有:private
(2)對外提供get和set方法。
在開發大型項目時,會有很多功能模塊的具體劃分,這是需要建立很多的類,將同一層級的類放在一個包中,可使程序的層級結構清晰,提高辨識度。
類似于在資源管理器中新建一個文件夾,有規律的存放和管理資源文件。
導包:導入自己的包和系統包
java.lang包是java語言的核心,它提供了java中的基礎類。(java.lang這個包屬于系統包,該包中的類不用導入,例如System,String)
1.類的訪問修飾符:
Public:對外公開
默認:所在包有效,包以外不能訪問 --體現在構造方法上
2.成員訪問修飾符(成員屬性和成員方法)
Public:對外公開
Protected:受保護的,同一個包的子類可以訪問。
默認:同一個包中可以訪問
Private:只在當前類有效
static和this關鍵字
Static修飾的,屬于類范圍的,this代表當前對象。
Static修飾成員屬性和方法和代碼塊
如何理解繼承,我猜大家首先想到的可能是繼承千萬家產,走上人生巔峰。夢想是美好的,java里面卻不是這樣的。
Java中的繼承需要從兩個方面去理解:
1.在多個子類中抽取出相同的屬性和方法,形成父類的屬性和方法
例如:大象和獅子 具有相同的屬性,名稱,體重,戰斗力。可以提取這些相同的屬性,形成一個父類 動物。
2.對父類成員的繼承使用(包含成員屬性和成員方法)
抽取出共有的重復的代碼,使用繼承,提高代碼的復用性,
讓類與類之間產生關系:extends
繼承是兩個類之間產生關聯關系的唯一的方式
子類構造方法會默認調用父類構造方法。
為多態提供了前提
Java中支持單繼承:一個子類只能有一個直接父類
Java中不支持多繼承
通過上述介紹,相信大家對Java封裝已經有所了解,大家如果想了解更多相關知識,不妨來關注一下動力節點的Java基礎教程,里面有更豐富的知識等著大家去學習,相信對大家會有所幫助的。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習