糯米文學吧

位置:首頁 > 計算機 > java語言

Java語言static關鍵字

java語言1.83W

導語:Java語言static的靜態屬性是用來修飾成員變數和成員函式,下面讓我們一起了解一下這種關鍵詞吧!

Java語言static關鍵字

  1、static關鍵字:

  (1)靜態的意思,用來修飾成員變數和成員函式

  (2)靜態的特點:

隨著類的載入而載入

優先於物件存在

對所有物件共享

可以被類名直接呼叫

  (3)靜態的注意事項

A:靜態方法只能訪問靜態成員

為什麼:因為靜態的內容是隨著類的載入而載入,它是先進記憶體的。

B:靜態方法中不能使用this,super關鍵字

C:主方法是靜態的

public static void main(String[] args)

public:公共的意思,是最大許可權修飾符。

static:由於jvm呼叫main方法的時候,沒有建立物件。

只能通過類名呼叫。所以,main必須用static修飾。

void:由於main方法是被jvm呼叫,不需要返回值。用void修飾。

main:main是主要的意思,所以jvm採用了這個名字。是程式的入口。

String[]:字串陣列

args:陣列名

在執行的時候,通過java命令給args陣列賦值。

格式:java MainTest hello world itcast

  (4)靜態變數和成員變數的區別

A:呼叫方式

靜態變數也稱為類變數,可以直接通過類名呼叫。也可以通過物件名呼叫。

這個變數屬於類。

成員變數也稱為例項變數,只能通過物件名呼叫。這個變數屬於物件。

B:儲存位置

靜態變數儲存在方法區長中的靜態區。

成員變數儲存在堆記憶體。

C:生命週期

靜態變數隨著類的載入而存在,隨著類的消失而消失。生命週期長。

成員變數隨著物件的.建立而存在,隨著物件的消失而消失。

D:與物件的相關性

靜態變數是所有物件共享的資料。

成員變數是每個物件所特有的資料。

  (5)靜態的優點和弊端

優點:

對物件的共享資料進行單獨空間的儲存,節省記憶體,沒有必要每個物件都儲存一份

可直接被類名呼叫

弊端:

生命週期過長,隨著類的消失而消失

訪問出現許可權,即靜態雖好但只能訪問靜態

  (6)什麼使用使用靜態呢?

A:當所有物件共享某個資料的時候,就把這個成員變數定義為靜態修飾的。

B:當某個方法沒有訪問該類中的非靜態成員,就可以把這個方法定義為靜態修飾。

靜態的生命週期比較長,所以一般不推薦使用。

  (7)靜態程式碼塊

A:它只執行一次,它比main還先執行。

B:執行順序

靜態程式碼塊--構造程式碼塊--構造方法