更新時間:2020-04-16 11:17:06 來源:動力節(jié)點 瀏覽2365次
1.封裝思想
封裝是面向?qū)ο笕筇卣髦唬浜x有兩個(掌握思想):
n把對象的字段和方法存放在一個獨立的模塊中(類)
n信息隱藏,盡可能隱藏對象的數(shù)據(jù)和功能的實現(xiàn)細(xì)節(jié)
封裝的好處:
1、保證數(shù)據(jù)的安全性,防止調(diào)用者隨意修改數(shù)據(jù)
2、提高組件的重用性,把公用功能放到一個類中,誰需要該功能,直接調(diào)用即可
沒有封裝帶來的困惑:
學(xué)生類:
測試類:
此時從代碼語法上來看,是沒有任何問題的,但是從邏輯上來分析人的年齡怎么能是負(fù)數(shù)呢?造成該問題的根本原因就是:可以隨意訪問對象中的字段。
那么問題來了,怎么才能限制不能隨意訪問字段數(shù)據(jù)呢?
此時,就該歡迎訪問修飾符登場了!
1.1.訪問修飾符(必須記住)
車庫有一個車位,旁邊寫著”公共車位”,那么該車位就是公共的,誰都可以訪問它。如果我在車位旁邊寫上“私家車位”,那么該車位就只能是我自己來訪問。外界(除我之外)都訪問不了,像“公共”、“私有”這種限制外界訪問的標(biāo)記符號,就稱之為訪問修飾符。
訪問修飾符,決定了有沒有權(quán)限訪問某個資源。
封裝其實就是要讓有些類看不到另外一些類中定義的字段和方法。Java提供了不同的訪問權(quán)限修飾符來限定類中的成員讓誰可以訪問到。
private:表示當(dāng)前類私有的,類訪問權(quán)限,只能在本類中操作,離開本類之后就不能直接訪問
不寫(缺省):表示當(dāng)前包私有,包訪問權(quán)限,定義和調(diào)用只能在同一個包中,才能訪問
protected:表示子類訪問權(quán)限,同包中的可以訪問,即使不同包但是有繼承關(guān)系也可以訪問
public:表示公共的,可以在當(dāng)前項目中任何地方訪問
private修飾符演示:
缺省和public修飾符演示:
暫時記住:把所有的字段使用private修飾,所有方法使用public修飾。
1.2.封裝使用(了解)
使用private修飾了Student類中的字段,此時在測試類中訪問報錯。
測試類:
此時使用private修飾字段后,在測試類中不能再操作這些字段了,此時怎么辦?我們可以使用JavaBean的規(guī)范來解決,其實也非常簡單。
1.2.1.JavaBean規(guī)范(重點掌握)
JavaBean是一種某些符合條件的特殊類,但是必須遵循一定的規(guī)范:
n類必須使用public修飾
n必須保證有公共無參數(shù)構(gòu)造器,即使手動提供了帶參數(shù)的構(gòu)造器,也得手動提供無參數(shù)構(gòu)造器
n字段使用private修飾,每個字段提供一對getter和setter方法
需求:針對名為name的字段名來舉例
getter方法:僅僅用于返回某一個字段的值
publicStringgetName(){
returnname;//返回name字段存儲的值
}
如果操作的字段是boolean類型的,此時是is方法,把getName變成isName。
setter方法:僅僅用來給某一個字段設(shè)置值
publicvoidsetName(Stringn){
name=n;//把傳過來的參數(shù)n的值,存儲到name字段中
}
注意:每一個字段都得使用private修飾,并提供一對getter/setter方法。
Eclipse工具可以自動生成標(biāo)準(zhǔn)的getter/setter,前期必須手寫。
代碼如下:
測試類:
以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“零基礎(chǔ)經(jīng)典學(xué)習(xí)Java封裝實例教程”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743