一、什麼是靜態屬性和非靜態屬性?
靜態屬性是指被static修飾符修飾的類、方法、變數或**塊等。
非靜態屬性是指沒有被static修飾的。
二、靜態屬性和非靜態屬性的特點是什麼?
靜態屬性特點:
1. 一宣告就被儲存在棧中,直接佔據記憶體,可以快速穩定的呼叫。
2. 生命週期長,從jvm載入開始到jvm載入結束。
3. 全域性唯一,在乙個執行環境中,靜態變數只有乙個值,任何一次修改都是全域性性的影響。
4. 佔據記憶體,程式中應該包含盡量少的static
非靜態屬性特點:
1. new的時候佔據記憶體,例項化後才能呼叫。
2. 非靜態變數賦值不發生衝突。
三、靜態變數和非靜態變數的區別
靜態變數是用static修飾的變數,靜態變數不需要new出物件引用來呼叫,它可以直接用類名直接呼叫,當然用物件引用也能呼叫它,只是沒那個必要。
非靜態變數則必須用物件引用呼叫。
四、成員變數和靜態變數的區別
1. 成員變數所屬於物件,所以稱為例項變數,靜態變數所屬於類,所以稱為類變數。
2. 成員變數存在於堆記憶體中,靜態變數存在於方法區中。
3. 成員變數隨著物件建立而存在,隨著物件被收回而消失,記憶體空間只有乙份,也只有乙份大家共享。靜態變數隨著類的載入而載入,隨著類的消失而消失(new出乙個物件就會在記憶體中分配一塊空間給它)。
4. 成員變數只能被物件呼叫,靜態變數可以被物件呼叫,也可以被類名呼叫。所以可以說成員變數是物件的特有資料,靜態變數是物件的共享資料。
成員變數成員變數是在類體的變數部分中定義的變數,也稱為屬性。 例項變數、類變數、常量都屬於成員變數。
public class clothes
成員變數又根據修飾符區分:
修飾符 說明
public 成員變數可以被專案中的任何方法訪問,建議盡量少用
protected 不在同乙個包中的類不能訪問,但子類可以訪問
private 只能在同乙個類中使用
static 類變數,其值為該類的所有物件共享,不會因類的物件不同而不同
final 最終成員變數,其值保持不變,即常量
transient 當物件被持久化時(例如寫入資料庫),該成員變數的值不需要儲存
volatile 同步多執行緒訪問的成員變數的值,以便使不同的執行緒總是得到 該成員變數的同乙個值。
java中靜態屬性與非靜態屬性
student 類 public class student public student string name public string getname public void setname string name 測試類 public class test 1.靜態的屬性屬於類的,不依賴於...
靜態屬性與非靜態屬性
靜態屬性 由static修飾的為類 方法 變數或 塊等。非靜態屬性 不由static修飾 靜態屬性特點 一宣告就被儲存在棧中,直接佔據記憶體,可以快速穩定的呼叫。2.生命週期長,從jvm載入開始到jvm載入結束。3.全域性唯一,在乙個執行環境中,靜態變數只有乙個值,任何一次修改都是全域性性的影響。4...
java靜態方法,靜態屬性
靜態方法,靜態屬性,都是不需要建立例項物件就可以呼叫,而且是單例的,不管建立多少個物件,都是共享乙個 靜態屬性。靜態方法不可以呼叫非靜態的變數,只可以呼叫靜態的屬性。靜態方法不可以呼叫非靜態的方法,只可以呼叫靜態的方法 靜態方法和static 塊在類被載入的時候就會被執行!我們定義常量是這樣的 pu...