Java零基礎(chǔ)自學DAY6 2018-03-18

隱藏和封裝

封裝

將對象的狀態(tài)信息隱藏在對象內(nèi)部,不允許外部程序直接訪問對象的內(nèi)部信息,而是通過該類所提供的方法來實現(xiàn)對內(nèi)部信息的操作和訪問。

封裝的目的:

*隱藏類的實際細節(jié)

*在方法里加入控制邏輯,限制對成員變量不合理的訪問

*可進行數(shù)據(jù)檢查,從而有利于保證對象信息的完整性

*便于修改,提高代碼可維護性

為實現(xiàn)良好封裝:

#將對象的成員變量和實現(xiàn)細節(jié)隱藏起來,不允許外部直接訪問

#把方法暴露出來,讓方法來控制對這些成員變量進行安全訪問和操作

使用訪問控制符

private、protected、public、(default)

控制級別由小到大:

private:當前類訪問權(quán)限,只能在當前類的內(nèi)部訪問,用于修飾成員變量

default:包訪問權(quán)限,不使用任何控制符時,默認為default,可以被相同包下的其他類訪問

protected:子類訪問權(quán)限,可以被不同包中的子類訪問,用于修飾方法,通常是希望其子類來重寫這個方法。

pubic:公共訪問權(quán)限,可以被所有類訪問。

外部類只能使用public和默認

局部變量不能使用訪問控制符來修飾

如果定義了public修飾的類,則文件名必須與public修飾的類名相同


定義一個類,實現(xiàn)良好封裝:

類之外只能通過各自對應的setter和getter方法來操作和訪問類里的成員變量

main方法中操作和訪問該對象的實例:

運行結(jié)果:

模塊設計追求高內(nèi)聚、低耦合

訪問控制符使用的基本原則:

*類里的絕大部分變量都應該用private修飾,只有一些static修飾的類似全局變量的成員變量才考慮public修飾

*如果某個類主要用作其他類的父類,該類里的大部分方法僅希望被其子類重寫,而不想被外界直接調(diào)用,則應該使用protected 修飾

*希望暴露出來給別的類自由調(diào)用的方法應該用public修飾,類的構(gòu)造器通過使用public修飾,從而允許在其他地方創(chuàng)建該類的實例,大部分外部類都是用public修飾

package、import、import static

把一個類放在指定的包結(jié)構(gòu)下:

package packageName;

一旦源文件中使用了package語句,意味著該源文件里定義的所有類都屬于這個包。

位于包中的每個類的完整類名都應該是包名和類名的組合

使用如下命令來編譯java文件

javac -d . Hello.java

-d 選項用于設置編譯生成class文件的保存位置,這里將指定生成的class文件放在當前路徑,(. 代表當前路徑),使用命令編譯之后,當前路徑?jīng)]有Hello.class文件,而是多了一個Lee的文件夾,文件夾里有Hello.class文件

使用帶-d選項時的javac命令來編譯Java源文件時,會自動建立對應的文件結(jié)構(gòu)來存放

執(zhí)行

java lee.Hello

如果進入lee路徑下運行則錯誤,而在lee文件夾所在路徑運行則正常

為Java類添加包必須在Java源文件中通過package語句指定,建議源文件和class文件分開存放

類不在同一個包時,需要使用全名來調(diào)用,如lee.Hello,來使用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,697評論 18 399
  • 一:java概述: 1,JDK:Java Development Kit,java的開發(fā)和運行環(huán)境,java的開發(fā)...
    慕容小偉閱讀 1,942評論 0 10
  • 一:java概述:1,JDK:Java Development Kit,java的開發(fā)和運行環(huán)境,java的開發(fā)工...
    ZaneInTheSun閱讀 2,812評論 0 11
  • 1 不如我們一起去旅游吧。K先生建議。 好啊。M小姐回答。 此時M小姐在機場廁所距離2000km外的男朋友解釋,老...
    孫悟空V閱讀 900評論 0 3
  • 今天買了薄荷閱讀第22期 ,一定要堅持下來。一百天gogogo
    廚房與愛_閱讀 123評論 0 0

友情鏈接更多精彩內(nèi)容