java基礎--static關鍵字的使用以及記憶體圖解
阿新 • • 發佈:2019-02-07
1、靜態變數--每當建立一個類的例項時就會在堆區建立這個類的所有屬性物件,如有被static 修飾的屬性時,則將此屬性放入靜態區中被共享。
1-1未加static關鍵字修飾的變數
列印結果:/** * static關鍵字修飾的變數 * @author Administrator * */ public class Test_Static { public static void main(String[] args) { Person p1 = new Person("小明",15,"河南"); Person p2 = new Person("小紅",14,"河南"); Person p3 = new Person("小亮",19,"河南"); p1.city="河北"; p2.city="河北"; p3.city="河北"; p1.printData(); p2.printData(); p3.printData(); } } class Person{ String name; int age ; String city; public Person(){} public Person(String name,int age,String city){ this.name = name; this.age = age; this.city = city; } public void printData(){ System.out.println("姓名:"+name+"--年齡:"+age+"--城市:"+city); } }
姓名:小明--年齡:15--城市:河北
姓名:小紅--年齡:14--城市:河北
姓名:小亮--年齡:19--城市:河北
記憶體圖解:
1-2 被static修飾的變數
public class Test_Static { public static void main(String[] args) { Person p1 = new Person("小明",15); Person p2 = new Person("小紅",14); Person p3 = new Person("小亮",19); Person.city="河北"; p1.printData(); p2.printData(); p3.printData(); } } class Person{ String name; int age ; static String city = "河南"; public Person(){} public Person(String name,int age){ this.name = name; this.age = age; } public void printData(){ System.out.println("姓名:"+name+"--年齡:"+age+"--城市:"+city); } }
列印結果:
姓名:小明--年齡:15--城市:河北
姓名:小紅--年齡:14--城市:河北
姓名:小亮--年齡:19--城市:河北
記憶體圖解: