Java基礎之static關鍵字總結

Java基礎中static關鍵字

1. 概述

關於static關鍵字可以用來修飾成員變量和和成員方法,被修飾的成員是屬於類的,而不是單單屬於某個對象,因此不能用創建對象來調用

2. 定義和使用格式

類變量

當static修飾成員變量,就稱爲類變量。該類的每個對象都共享同一個類變量的值。任何對象都可以改變該類變量的值,但也可以在不創建該類的對象的情況下對類變量進行操作。

定義格式:

static 數據類型 變量名;

例如,班級裏的學生的學號,姓名,與個人有關,而班級人數與單獨的每個學生對象無關,而是與整個班級同學數量有關,於是定義靜態變量numberOfStudent,

public class Student {
private String name;
private int age;
// 學生的id
private int sid;
// 類變量,記錄學生數量,分配學號
public static int numberOfStudent = 0;
public Student(String name, int age){
this.name = name;
this.age = age;
// 通過 numberOfStudent 給學生分配學號
this.sid = ++numberOfStudent;
}
// 打印屬性值
public void show() {
System.out.println("Student : name=" + name + ", age=" + age + ", sid=" + sid );
}
}
public class StuDemo {
public static void main(String[] args) {
Student s1 = new Student("張三", 23);
Student s2 = new Student("李四", 24);
Student s3 = new Student("王五", 25);
Student s4 = new Student("趙六", 26);
s1.show(); // Student : name=張三, age=23, sid=1
s2.show(); // Student : name=李四, age=24, sid=2
s3.show(); // Student : name=王五, age=25, sid=3
s4.show(); // Student : name=趙六, age=26, sid=4
}
}

3. 靜態方法

當static修飾成員方法時,該方法稱爲類方法。靜態方法在聲明中有static ,建議使用類名來調用,而不需要創建類的對象。

  • 類方法:使用 static關鍵字修飾的成員方法,習慣稱爲靜態方法

定義格式:

修飾符 static 返回值類型 方法名 (參數列表){
// 執行語句
}

靜態方法注意事項:

  • 靜態方法可以直接訪問類變量和靜態方法
  • 靜態方法不能直接訪問普通成員變量或成員方法。反之,成員方法可以直接訪問類變量或靜態方法
  • 靜態方法中,不能使用this關鍵字
  • 靜態方法只能訪問靜態成員

調用格式
被static修飾的成員可以並且建議通過類名直接訪問。雖然也可以通過對象名訪問靜態成員,原因即多個對象均屬於一個類,共享使用同一個靜態成員,但是不建議,會出現警告信息。
格式:

// 訪問類變量
類名.類變量名;
// 調用靜態方法
類名.靜態方法名(參數);

3. 靜態原理圖

static修飾的內容:

  • 是隨着類的加載而加載的,且只加載一次。
  • 存儲於一塊固定的內存區域(靜態區),所以,可以直接被類名調用。
  • 它優先於對象存在,所以,可以被所有對象共享。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章