java static關鍵字修飾方法
阿新 • • 發佈:2018-11-05
java static關鍵字修飾方法
1.java static關鍵字修飾方法的特性
- 隨著類的載入而載入,在記憶體中也是獨一份
- 可以直接通過“類.類方法”的方式呼叫
- 在靜態的方法內部可以呼叫靜態的屬性或者靜態的方法,而不能呼叫非靜態的方法。反之,非靜態的方法時可以呼叫靜態屬性或者方法的。
- demo
public class TestStatic { public static void main(String[] args) { SportsMan s1 = new SportsMan("金龍",23); // SportsMan.show();//因為這是一個普通的方法,所以不能通過類來呼叫 s1.show(); SportsMan.show1(); s1.show1(); } } class SportsMan{ //例項變數(隨著物件的建立而被載入的) String name; int age; //類變數 static String nation;//出生是早於屬性的 public SportsMan(String name, int age) { super(); this.name = name; this.age = age; this.nation = "China"; } public void show() { System.out.println("nation:" + nation); info(); System.out.println("age" + this.age); System.out.println("我是一名來自中國的運動員"); } public static void show1() { System.out.println("nation:" + nation); info(); // this.show();//報錯,屬性為非靜態 // System.out.println("age" + this.age);//報錯,屬性為非靜態 System.out.println("我是一名來自中國的運動員"); } public static void info() { System.out.println("我是一個靜態的方法!"); } }
2.注意要點
- 靜態的結構(static的屬性、方法、程式碼塊、內部類)的生命週期要早於非靜態的結構,同時被回收也要晚於非靜態結構
- 靜態的方法內是不可以有this或者super關鍵字的!