C 中靜態和非靜態的區別

2022-07-06 02:00:11 字數 1136 閱讀 3098

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

//靜態和非靜態的區別

namespace

csharp

set }

public

void m()

public

static

void m1()

}class

demo2

console.readkey();

console.readline();

//利用接收輸入來暫停程式,避免程式一閃而過

}

void fun() //

輸出結果為11111

//全域性變數、靜態全域性變數和靜態區域性變數都存放在記憶體的靜態儲存區域;

int c;//

全域性變數,在整個工程檔案內都有效.而靜態全域性變數只能對當前類檔案有效,對其他類檔案無效.但是在c#中沒有全域性變數的概念只有【靜態全域性變數】。

static

int j = 0;//

c# 語言不允許使用 static 修飾符來宣告方法內部的變數。但是在 c/c++ 語言中是允許這麼做的。因此只能只能在類中定義乙個靜態變數成員,然後提供給類方法呼叫

void fun1() //

輸出結果為12345

}}

靜態成員:屬於整個類(對所有物件共享,在c#中可以認為全域性變數),每次呼叫都會儲存最後一次賦值直到程式結束才會釋放空間初始化值。

例項成員:屬於當前所建立的物件(每個單獨物件都特有),如:每次例項化都會初始化值。

呼叫區別:靜態成員:類名.成員名 ,例項成員:物件名.成員名-----》需要先例項化物件,才能得到物件。

定義區別:靜態的只能引用靜態的;例項的可以引用靜態的也可以引用例項的。

靜態類和非靜態類的區別:1.靜態類不能被繼承,非靜態類可以被繼承。2.靜態類所有成員必須是靜態的,非靜態類值成員可以是靜態的也可以是非靜態的不受限制。

c 中靜態與非靜態的區別

1.靜態類與非靜態類 靜態類中只能包含靜態成員和靜態方法,否則會丟擲編譯錯誤 而非靜態類中可以包含非靜態成員和非靜態方法,也可以包含 靜態成員和靜態方法 靜態類不可以例項化 非靜態類可以例項化。不管是靜態類還是 非靜態類,對於靜態成員和靜態方法的呼叫都必須通過類來實現 如果乙個類只包含靜態成員和靜態...

c 中靜態與非靜態的區別

1.靜態類與非靜態類 靜態類中只能包含靜態成員和靜態方法,否則會丟擲編譯錯誤 而非靜態類中可以包含非靜態成員和非靜態方法,也可以包含 靜態成員和靜態方法 靜態類不可以例項化 非靜態類可以例項化。不管是靜態類還是 非靜態類,對於靜態成員和靜態方法的呼叫都必須通過類來實現 如果乙個類只包含靜態成員和靜態...

Java中靜態方法和非靜態方法的區別

靜態方法和非靜態方法的區別總結如下 1 靜態方法屬於類所有,類例項化前即可使用 2 非靜態方法可以訪問類中的任何成員,靜態方法只能訪問類中的靜態成員 3 因為靜態方法在類例項化前就可以使用,而類中的非靜態變數必須在例項化之後才能分配記憶體 4 static內部只能出現static變數和其他stati...