1.static靜態的意義,加在屬性面前就為靜態屬性;加在方法面前就為靜態方法
2.如圖,定義了一個靜態屬性age,一個非靜態屬性score;
? ? ? ? 輸出語句一共四句,其中第三句報錯,由于靜態和非靜態的區別,導致靜態的屬性與Student類同時加載出來,而非靜態屬性score需在編譯后才加載出來,因此非靜態age可直接Student.age進行調用。而非靜態score不可直接通過Student.score進行調用;而是s1為實例化的Student類的對象,可通過s1.屬性進行調用
3.同理,在調用方法時,靜態方法可直接調用,由go和Student.go可直接調用,但非靜態run方法顯示直接報錯,不可直接調用,需要實例化后才可調用,如圖student.run
4.如圖,定義了Person類,定義三個方法,第一次輸出結果為靜態服務塊,匿名代碼塊,構造方法;是由于static為靜態,他在類定義時就加載了出來,因此率先輸出,其次按順序為匿名代碼塊,構造方法;?
? ? ? ? 第二次輸出為匿名代碼塊,構造方法;因為static只執行一次,所以不輸出靜態代碼塊
5.如圖輸出Math.random()函數,可通過導入java下的包進行調用在調用時就不需要寫出前綴Math.random();而是可以直接rundom()
6.若在一個類前面加入final,則其他類不可將此類作為父類