作用:避免類的命名衝突
同包中的類不能同名,類的全程為:包名.類名
包名常常有層次結構
包名建議:所有字母小寫
同包中的類可以直接訪問,不同包中的類不能直接訪問,若想訪問
先import宣告類再訪問---------------------建議
類的全稱----------------------------------------不建議
public:公開的,任何類
private:私有的,本類
protect:受保護的,本類、子類、同包類
預設的:什麼也不寫,本類、同包類
說明:1.類的訪問控制修飾符只能是public或缺省的
2.類中成員的訪問控制修飾符如上4種都可以
修飾變數:變數不能被改變
修飾方法:方法不能被重寫
修飾類:類不能被繼承
1.靜態變數
成員變數分兩種:
例項變數:沒有static修飾,屬於物件,儲存在堆中,有幾個物件就有幾份,通過物件點來訪問
靜態變數:由static修飾,屬於類,儲存在方法區中,只有乙份,通過類名點來訪問
記憶體管理:由jvm來管理
1.堆:new出來的物件(包括例項變數)
2.棧:區域性變數(包括方法引數)
3.方法區:.class位元組碼檔案(包括靜態變數、方法)
2.靜態方法:
class
moostatic
void
test()
}
3.靜態塊:
由static修飾
屬於類,在類被載入期間自動執行
因為類只被載入一次,所以靜態塊只執行一次
必須宣告同時初始化
通過類名點來訪問,不能被改變
建議:常量名所有字母大寫,多個單詞之間用下劃線分隔
編譯器在編譯時會將常量直接替換為具體的值,效率高
何時用:資料永遠不變,經常使用
由abstract修飾
只有方法的定義,沒有具體的實現連{}都沒有
將子類所共有的的屬性和行為,抽到父類中-----------------------------抽共性
子類的行為都一樣,設計為普通方法
子類的行為不一樣,設計為抽象方法
由abstract修飾
包含抽象方法的類必須是抽象類
抽象類不能被例項化
抽象類是需要被繼承的,子類:
抽象類的意義
抽象類與介面的修飾符
1 抽象類中的抽象方法 其前有abstract修飾 不能用private static synchronized native訪問修飾符修飾。原因如下 抽象方法沒有方法體,是用來被繼承的,所以不能用private修飾 static修飾的方法可以通過類名來訪問該方法 即該方法的方法體 抽象方法用sta...
抽象類和介面的修飾符
1 抽象類中的抽象方法 其前有abstract修飾 不能用private static synchronized native訪問修飾符修飾。原因如下 抽象方法沒有方法體,是用來被繼承的,所以不能用private修飾 static修飾的方法可以通過類名來訪問該方法 即該方法的方法體 抽象方法用sta...
常量和抽象方法 抽象類
必須宣告同時初始化 class a類名點來訪問,不能被改變 double x a.pi 命名規則 常量名所有字母都大寫,多個單詞之間用 分隔 好處 編譯器在編譯時將常量直接替換為具體的值,效率高 使用場景 資料永遠不變 並且經常使用時設定為常量,方便以後做改動。封裝派生類所共有的屬性和行為 復用 為...