1. 程式人生 > >JAVA——static 關鍵字

JAVA——static 關鍵字

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();
	}
}

執行結果如下:
在這裡插入圖片描述