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