static關鍵字解釋及舉例

2021-09-11 04:17:50 字數 850 閱讀 8468

注意

靜態不能直接訪問非靜態,非靜態可以直接訪問靜態,因為在記憶體中靜態隨著類的載入而載入,先有的靜態再有的非靜態

靜態不能使用this關鍵字,因為this代表當前物件,而靜態方法不用建立物件就直接呼叫。

static 靜態,也可以說是共享,下面舉乙個例子解釋

class test3_grade 

}class grade

}

以上例子成員變數名字name,年級grade,成員方法print(),張三和李四班級都是高三一班,每次都得去賦值一樣的班級,又麻煩又佔記憶體,所以可以用static靜態使班級變成共享的,這樣只需要去賦值一次即可。用static變成以下**

class test3_grade 

}class grade

}

只需成員變數前加上static,而static又有什麼特點呢?

1.隨著類的載入而載入

2.優先於物件存在

3.被類的所有物件共享(也就是說如果某個成員變數被所有物件共享,那麼他就可以被定義為靜態的),共性用靜態,特性用非靜態

4.可以通過類名呼叫

(1)其實本身也可以用物件呼叫,即上面**的呼叫

(2)推薦使用類名呼叫,即grade.grade="高三一班"; system.out.println(grade.grade);記憶體圖如下

關鍵字static解釋

1.全域性靜態變數 在全域性變數前加上關鍵字static,全域性變數就定義成乙個全域性靜態變數.靜態儲存區,在整個程式執行期間一直存在。初始化 未經初始化的全域性靜態變數會被自動初始化為0 自動物件的值是任意的,除非他被顯式初始化 作用域 全域性靜態變數在宣告他的檔案之外是不可見的,準確地說是從定義...

this關鍵字 static關鍵字

1.當成員變數和區域性變數重名,可以用關鍵字this來區分 this 代表物件,代表那個物件呢?當前物件 this就是所在函式所屬物件的引用 簡單說 那個物件呼叫了this所在的函式,this就代表哪個物件 this也可以用於在建構函式中呼叫其他建構函式 注意 只能定義在建構函式的第一行,因為初始化...

Java this關鍵字,static關鍵字

1,this.屬性,this.方法,表示當前物件的屬性,當前類的方法 2,this,表示當前物件,當前正在操作這個方法的物件就是當前物件 3,使用this 引數若干 可以呼叫當前類的構造方法,如果,構造方法之間相互呼叫,則有要求 一 this 必須放在首行,二 至少有乙個構造方法是沒有呼叫this ...