對於靜態和非靜態類的屬性的理解

2021-07-11 12:18:10 字數 504 閱讀 2561

使用c#語言分析

1.靜態實際上儲存在靜態區(全域性區),而非靜態儲存在棧上。

2.靜態類是共享的,即程式在**不管哪個部分都能用到

3.定義乙個類,如

public class person

public static int age

public void addone()

} 當我們例項化乙個物件

person p1= new person();

利用p1獲取不了age屬性,只能用person.age才能使用。而且呼叫p1.addone();之後再列印person.age,會發現值變1。說明在類中直接呼叫,類外必須使用靜態類呼叫方法呼叫了。

我們再例項化乙個物件p2

person p2= new person();

呼叫p2.addone();之後再列印person.age,會發現值變2

說明age這個靜態屬性在記憶體中只有乙個。實際上我們不例項化物件也能直接使用person.age屬性

靜態類 和 非靜態類的區別

1 不能在靜態類中宣告例項成員 變數和方法 2 非靜態類中可以呼叫靜態類中的成員和方法 3 呼叫靜態類中的成員或方法時不需要例項化 4 非靜態類中可以宣告靜態成員或靜態方法 5 靜態方法的使用效率比非靜態方法的使用效率高 6 靜態方法與靜態成員變數一樣,屬於類本身,在類裝載的時候被裝載到記憶體,不自...

靜態類和非靜態類的主要區別

靜態類和非靜態類的主要區別 主要區別在於靜態類不能例項化,靜態類編譯器能夠執行檢查確保不是偶然的新增例項成員,c 編譯器會自動把它標記為sealed,靜態類中不能建立非靜態的方法,即靜態方法中只能建立靜態方法,但在非靜態類中可以呼叫靜態方法。靜態類的主要特性 1 僅包含靜態成員。2 無法例項化。3 ...

類中的靜態 非靜態方法

c 的類中可以包含兩種方法 靜態方法和非靜態方法。使用了static 修飾符的方法為靜態方法,反之萴是非靜態方法。靜態方琺是 種 特殊的成園方琺,它不屬紆類的某乙個具體的實唎,而是屬於類本裑。葰以對靜態方法不需要首先建立乙個類哋例項,而是採用類名.靜態方法的格式 1.static方法是類中的乙個成園...