一.概念
將類的某些信息隱藏在類的內(nèi)部,不允許外部直接訪問,而通過類所提供的方法來進行操作。
二.封裝三部曲
- 修飾符private/protected
- 添加操作屬性的setter/getter方法
- 方法中加入屬性控制語句
三.包
包即文件夾茵烈,下又可再分,“ . ” 區(qū)分層次
- 包的定義:package關(guān)鍵字
package + <包名>
//定義一個movie包
package movie;
//定義一個movie包下的music包
package movie.music;//包名小寫
- 包的引用:import關(guān)鍵字
import + <包名> + ' . ' + <類名>;
//調(diào)用movie包下的music包中的lyrics類
import movie.music.lyrics;
四.訪問修飾符
- 訪問規(guī)則
訪問修飾符 | 本類 | 同包 | 子類 | 其他包 |
---|---|---|---|---|
private | √ | |||
默認 | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
五.this指針
代表當前對象邑彪,常在類中使用瞧毙。
例如:
public setName(name){
this.name=name
}
六.內(nèi)部類
理解:
定義在類a中的類b胧华,不讓其他類比如類c使用這個類b寄症,相應的類a叫做類b的外部類。
使用方法:
//外部類HelloWorld
public class HelloWorld {
// 內(nèi)部類Inner矩动,類Inner在類HelloWorld的內(nèi)部
public class Inner {
//類inner的屬性和方法
}
public static void main(String[] args) {
// 創(chuàng)建外部類對象
HelloWorld hello = new HelloWorld();
// 創(chuàng)建內(nèi)部類對象
Inner i = hello.new Inner();
}
}
類別
- 成員內(nèi)部類(相當于一個成員變量有巧,可以訪問外部類的任意訪問控制符)
- 靜態(tài)內(nèi)部類(只可以訪問外部類的靜態(tài)成員,創(chuàng)建對象不需要外部類對象悲没,可以直接創(chuàng)建)
- 方法內(nèi)部類(方法內(nèi)部類定義在外部類的一個方法中篮迎,只有在該方法內(nèi)部可見,且只在該方法內(nèi)部使用,因此方法內(nèi)部類不能用訪問控制符和static修飾)
- 匿名內(nèi)部類(需要繼承至一個父類甜橱,或者實現(xiàn)一個接口逊笆,并且需要實現(xiàn)接口或者父類的所有抽象方法)