Core Java 基本語法 隨便摘點
1.複用代碼,組合,聚合,繼承複用
2.方法的重寫,覆蓋,Override
3.Java中一個類的信息編譯之後是存放在字節碼文件中的
(.class),運行時,如果虛擬機需要用到這個類,
它就會通過ClassPath找到這個字節碼文件,
通過一個輸入流,把其中的內容讀入到虛擬機內存中,
從而獲知這個類的信息
稱爲:類加載(Class Loading)
只會進行一次,第一次用到這個類的時候
靜態初始代碼塊在類加載的時候運行
類加載的時機:能不加載就不加載
1 第一次new對象的時候 加載
2 第一次訪問static成員 加載
3 聲明引用,不會類加載
4 加載子類會先加載父類
5 如果通過子類訪問父類的靜態成員,只加載父類
6 如果訪問的是類的公開靜態常量,
那麼如果編譯器在編譯的時候能確定這個常量的值,
那麼就不會加載,反之,編譯器不能確定值,
那麼運行時就會加載
4.
//靜態初始化代碼塊,地位相當靜態變量
//類加載的時候,靜態變量被初始化,靜態初始化代碼塊執行
//初始化代碼塊,相當於實例變量的地位
//在初始化實例變量的時候執行
//用父類的引用指向子類的對象
//多態在方法返回類型的表現
//多態在方法參數上的應用
//在靜態方法中,不能用this, super
//不能在靜態方法中訪問非靜態成員
//靜態方法,跟對象無關
//靜態方法是可以被子類繼承的
//在非靜態方法中,完全可以訪問靜態成員
//靜態方法可以被覆蓋,但是沒有多態
//靜態方法只能被靜態方法覆蓋,
//而非靜態方法也只能被非靜態方法覆蓋
//靜態方法和非靜態方法之間可以形成重載關係
public int x = 20;//變量的遮蓋