JAVA——static 關鍵字
阿新 • • 發佈:2018-11-22
static關鍵字的介紹
static關鍵字——實現共享
(一)static類屬性
- 描述共享屬性,只需在屬性前新增static關鍵字即可 ;
- 訪問static屬性(類屬性)應使用類名稱.屬性名 ;
- static屬性又稱為類屬性,儲存在全域性資料區的記憶體之中,所有物件都可以進行該資料區的訪問;
- 只需要一份資料,就可以在整個類中實現共享;
- 所有的非static屬性(例項變數)必須在物件例項化後使用,而static屬性(類屬性)不受物件例項化控制;
此時,我們修改static屬性值,所有物件都同步此屬性值。
static類屬性舉例如下:
class Person2{
//此處為了強調static關鍵字的作用,設為公共屬性
public static String country = "中國";
public String name;
public int age;
//構造方法
public Person2(String name,int age){
this.name = name;
this.age = age;
}
//方法
public void intriduce(){
System.out.println("姓名:"+name+",年齡:"+age+",國家:"+country);
}
}
public class Test3{
public static void main(String[] args){
Person2 sg1 = new Person2("kelly",21);
Person2 sg2 = new Person2("張三",20);
sg1.intriduce();
sg2.intriduce();
}
}
執行結果如下:
修改static屬性值,所有物件都同步此屬性值
class Person2{
//此處為了強調static關鍵字的作用,設為公共屬性
public static String country = "中國";
public String name;
public int age;
//構造方法
public Person2(String name,int age){
this.name = name;
this.age = age;
}
//方法
public void intriduce(){
//此處修改static屬性值,所有物件的屬性值同步修改
Person2.country = "韓國";
System.out.println("姓名:"+name+",年齡:"+age+",國家:"+country);
}
}
結果如下:
(二)static類方法
-
不用建立物件就可以訪問static類方法;
-
訪問形式:
1,類名.方法名
2,通過例項化物件訪問 -
所有的static方法不允許呼叫非static定義的屬性或方法;
-
所有的非static方法允許訪問static方法或屬性 。
舉例如下:
class Person2{
//此處為了強調static關鍵字的作用,設為公共屬性
public static String country = "中國";
public String name;
public int age;
//構造方法
public Person2(String name,int age){
this.name = name;
this.age = age;
}
//方法
public static void print(){
System.out.println("hehehe");
}
public void intriduce(){
Person2.country = "韓國";
System.out.println("姓名:"+name+",年齡:"+age+",國家:"+country);
}
}
public class Test3{
public static void main(String[] args){
//1,使用類名.方法名呼叫static方法
Person2.print();
//2,例項化物件呼叫static方法
Person2 sg1 = new Person2("kelly",21);
sg1.print();
}
}
執行結果如下: