面向對象第四章
阿新 • • 發佈:2018-11-15
應用 package 文件 private protected nal 一份 字母 1.4 1.package:
1)作用:避免類名的沖突
2)包名可以有層次結構
3)類的全稱: 包名.類名,同包中的類不能同名
4)建議:包名所有字母都小寫
import:
1)同包中的類可以直接訪問,
不同包中的類不能直接訪問,想訪問有如下兩種方式:
1.1)先import聲明類再直接使用類------建議
1.2)類的全稱------------------------太繁瑣、不建議
2.訪問控制修飾符:
1)public:公開的, 任何類
2)private:私有的, 本類
3)protected:受保護的, 本類、派生類、同包類
4)默認的:什麽也不寫, 本類、同包類
說明:
1)類的訪問修飾符只能是public或默認的
2)類中成員的訪問修飾符如上四種都可以
3.final:最終的、不可改變的----應用率低
1)修飾變量:變量不能被改變
2)修飾方法:方法不能被重寫
3)修飾類:類不能被繼承
4.static:靜態的
1)靜態變量:
1.1)由static修飾
1.2)屬於類的,存儲在方法區中,只有一份
1.3)常常通過類名點來訪問
1.4)何時用:所有對象所共享的數據(圖片、音頻、視頻等)
2)靜態方法:
2.1)由static修飾
2.2)屬於類的,存儲在方法區中,只有一份
2.3)常常通過類名點來訪問
2.4)靜態方法沒有隱式this傳遞,
靜態方法中不能直接訪問實例成員
2.5)何時用:方法的操作僅與參數相關而與對象無關
3)靜態塊:
3.1)屬於類的,在類被加載期間自動執行,
類只被加載一次,所以靜態塊只執行一次
3.2)何時用:用於加載/初始化靜態資源(圖片、音頻、視頻等)
內存管理:
1)堆:new出來的對象(包括實例變量)
2)棧:局部變量(包括方法的參數)
3)方法區:.class字節碼文件(包括方法、靜態變量)
成員變量:
1)實例變量:沒有static修飾,屬於對象的,存儲在堆中,
有幾個對象就有幾份
通過對象名點來訪問
2)靜態變量:由static修飾,屬於類的,存儲在方法區中,
只有一份
通過類名點來訪問
class Aoo{
int a; //實例變量
static int b; //靜態變量
}
數據:私有(派生類的)、受保護(超類的)
行為:公開
面向對象第四章