標籤:第一條 成員變數 代碼 使用 取消 匿名內部類 組成 final 特點
package關鍵字的概述及作用
A:為什麼要有包
將位元組碼(.class)進行分類存放
包其實就是檔案夾
包的定義及注意事項
A:定義包的格式
package 包名;
多級包用.分開即可
B:定義包的注意事項
A:package語句必須是程式的第一條可執行檔代碼
B:package語句在一個java檔案中只能有一個
不同包下類之間的訪問
A:案例示範
不同包下類之間的訪問
B:導包格式
import 包名;
注意:
這種方式匯入是到類的名稱。
雖然可以最後寫*,但是不建議。
C:package,import,class有沒有循序關聯性
類及其組成所使用的常見修飾符
A:修飾符:
許可權修飾符:private,預設的,protected,public
狀態修飾符:static,final
抽象修飾符:abstract
B:類:
許可權修飾符:預設修飾符,public
狀態修飾符:final
抽象修飾符:abstract
用的最多的就是:public
C:成員變數:
許可權修飾符:private,預設的,protected,public
狀態修飾符:static,final
用的最多的就是:private
D:構造方法:
許可權修飾符:private,預設的,protected,public
用的最多的就是:public
E:成員方法:
許可權修飾符:private,預設的,protected,public
狀態修飾符:static,final
抽象修飾符:abstract
用的最多的就是:public
內部類概述和訪問特點
A:內部類概述
B:內部類訪問特點
a:內部類可以直接存取外部類的成員,包括私人。
b:外部類要訪問內部類的成員,必須建立對象。
外部類名.內部類名 對象名 = 外部類對象.內部類對象;
靜態成員內部類
static
B:成員內部類被靜態修飾後的訪問方式是:
外部類名.內部類名 對象名 = 外部類名.內部類對象;
局部內部類訪問局部變數的問題
A:案例示範
局部內部類訪問局部變數必須用final修飾
局部內部類在訪問他所在方法中的局部變數必須用final修飾,為什麼?
因為當調用這個方法時,局部變數如果沒有用final修飾,他的生命週期和方法的生命週期是一樣的,當方法彈棧,這個局部變數也會消失,那麼如果局部內部類對象還沒有馬上消失想用這個局部變數,就沒有了,
如果用final修飾會在類載入的時候進入常量池,即使方法彈棧,常量池的常量還在,也可以繼續使用
但是jdk1.8取消了這個事情,所以我認為這是個bug
匿名內部類的格式和理解
A:匿名內部類
就是內部類的簡化寫法。
B:前提:存在一個類或者介面
這裡的類可以是具體類也可以是抽象類別。
C:格式:
new 類名或者介面名(){
重寫方法;
}
D:本質是什麼呢?
是一個繼承了該類或者實現了該介面的子類匿名對象。
Java物件導向