Java麵向對象基礎--Static關鍵字的作用及使用
1、使用static聲明屬性
如果希望一個屬性被所有對象共同擁有,可以將其聲明為static類型。
聲明為static類型的屬性或方法,此屬性或方法也被稱為類方法,可以由類名直接調用。
class Person{ // 定義Person類 String name ; // 定義name屬性,暫時不封裝 int age ; // 定義age屬性,暫時不封裝 static String country = "A城" ; // 定義城市屬性,有默認值,static public Person(String name,int age){ this.name = name ; this.age = age; } public void info(){ // 得到信息 System.out.println("姓名:" + this.name + ",年齡:" + this.age + ",城市:" + country) ; } }; public class StaticDemo02{ public static void main(String args[]){ Person p1 = new Person("張三",30) ; // 實例化對象 Person p2 = new Person("李四",31) ; // 實例化對象 Person p3 = new Person("王五",32) ; // 實例化對象 System.out.println("--------------- 修改之前 -------------") ; p1.info() ; p2.info() ; p3.info() ; p1.country = "B城" ; // 修改static屬性 System.out.println("--------------- 修改之後 -------------") ; p1.info() ; p2.info() ; p3.info() ; } };

Person.country = "B城" ;
2、聲明static方法
如果一個方法使用了static關鍵字聲明,此方法可以直接使用類名進行調用。
注意:使用static方法,不能調用非static的屬性或方法。
因為:static屬性或方法,可以在對象沒有實例化的時候就直接進行調用了。
class Person{ // 定義Person類 private String name ; // 定義name屬性,暫時不封裝 private int age ; // 定義age屬性,暫時不封裝 private static String country = "A城" ; // 定義城市屬性,有默認值,static public static void setCountry(String c){ // 此方法可以直接由類名稱調用 country = c ; } public static String getCountry(){ return country ; } public Person(String name,int age){ this.name = name ; this.age = age; } public void info(){ // 得到信息 System.out.println("姓名:" + this.name + ",年齡:" + this.age + ",城市:" + country) ; } }; public class StaticDemo04{ public static void main(String args[]){ Person p1 = new Person("張三",30) ; // 實例化對象 Person p2 = new Person("李四",31) ; // 實例化對象 Person p3 = new Person("王五",32) ; // 實例化對象 System.out.println("--------------- 修改之前 -------------") ; p1.info() ; p2.info() ; p3.info() ; Person.setCountry("B城") ; // 調用靜態方法修改static屬性的內容 System.out.println("--------------- 修改之後 -------------") ; p1.info() ; p2.info() ; p3.info() ; } };
最後更新:2017-04-03 16:49:06