static關鍵字注意事項
阿新 • • 發佈:2018-11-11
/* static關鍵字注意事項 A:在靜態方法中是沒有this關鍵字的 如何理解呢? 靜態是隨著類的載入而載入,this是隨著物件的建立而存在。 靜態比物件先存在。 B:靜態方法只能訪問靜態的成員變數和靜態的成員方法 靜態方法: 成員變數:只能訪問靜態變數 成員方法:只能訪問靜態成員方法 非靜態方法: 成員變數:可以是靜態的,也可以是非靜態的 成員方法:可是是靜態的成員方法,也可以是非靜態的成員方法。 簡單記: 靜態只能訪問靜態。 */ class Teacher { public int num = 10; public static int num2 = 20; public void show() { System.out.println(num); //隱含的告訴你訪問的是成員變數 System.out.println(this.num); //明確的告訴你訪問的是成員變數 System.out.println(num2); //function(); //function2(); } public static void method() { //無法從靜態上下文中引用非靜態 變數 num //System.out.println(num); System.out.println(num2); //無法從靜態上下文中引用非靜態 方法 function() //function(); function2(); } public void function() { } public static void function2() { } } class TeacherDemo { public static void main(String[] args) { //建立物件 Teacher t = new Teacher(); t.show(); System.out.println("------------"); t.method(); } }