Java中的靜態修飾符 static

2021-07-15 22:45:18 字數 978 閱讀 4555

靜態修飾符的特點

static是乙個修飾符,用於修飾成員(成員變數和成員函式)

靜態成員隨著類的載入而載入。

靜態成員優先於物件存在。

靜態成員被所有物件所共享

靜態成員多了乙個中呼叫方式,可以被類名直接呼叫。

靜態使用的注意事項。

靜態方法只能訪問靜態成員, 非靜態方法既可以訪問靜態又可以訪問非靜態。

靜態方法中不可以定義this,super關鍵字。因為this代表是物件。而靜態存在時,有可能沒有物件。所以靜態方法執行時,this是沒有任何物件代表的。

簡單說,先進記憶體的資料不可以訪問後進記憶體的資料,可是後進記憶體資料可以訪問先進記憶體的資料。

主函式是靜態的

靜態的優缺點

優點: 靜態成員多了一種呼叫方式。可以直接被類名呼叫 格式 :類名.靜態成員。也可以被物件呼叫。

弊端 : 靜態方法只能訪問靜態成員,出現了訪問侷限性。

靜態修飾的資料物件共享的資料,存放在方法區的靜態區中。

非靜態的資料,是每乙個物件特有資料。存放在物件的所屬的堆記憶體中。

當成員變數被靜態修飾後,和非靜態成員變數的區別:

靜態變數也稱為類變數,也就是直接可以被類名呼叫的變數。這個變數是所屬於類的。

非靜態變數成為成員變數,或者例項變數,是被物件呼叫的,是所屬具體物件的。

靜態變數隨著類的載入而載入,也意味著隨著類的消失而消失。生命週期最長。

例項變數,隨著物件的建立而載入,隨著物件的消失而消失。按照物件的生命週期而存在。

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

例項變數存在於物件所屬的堆記憶體中。

靜態變數資料,被所有物件所共享。

例項變數是物件中的特有資料

靜態修飾符

靜態修飾符 static static 靜態修飾符1.修飾成員變數 2.修飾方法 1.用來修飾成員變數 乙個成員變數被static修飾叫靜態成員變數,如果沒有被修飾叫非靜成員變數。訪問方式 1 用物件進行訪問 物件名 變數名 2 可以通過類名來訪問 類名 變數名 需要注意的點 1 不要認為所有的變數...

java修飾符 abstract 修飾符

abstract 修飾符 abstract 修飾符可以用來修飾類和成員方法 用 abstract 修飾的類表示抽象類,抽象類位於繼承樹的抽象層,抽象類不能被例項化,即不允許建立抽象類本身的例項。沒有用 abstract 修飾的類稱為具體類,具體類可以被例項化。用 abstract 修飾的方法表示抽象...

Java中的修飾符

方法的修飾符 訪問控制修飾符 public,protected,package,private public 所有的類都可以訪問 protected 同乙個類 同乙個包 子類中都可以訪問 package 預設型別 同乙個類 同乙個包中可以訪問 private 只有在同乙個類中才可以訪問 方法本身的修...