国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

c# static 靜態數據成員

2024-07-10 13:19:47
字體:
來源:轉載
供稿:網友
① 靜態成員屬于類所有,非靜態成員屬于類的實例所有。
② 每創建一個類的實例,都市在內存中為非靜(動)態成員新分派一塊存儲;

靜態成員屬于類所有,為各個類的實例所公用,無論類創建了幾多實例,類的靜態成員在內存中只占同一塊區域。

靜態數據成員區別于動態數據成員,靜態變量并不是穩定的,只是靜態變量在聲明的時候不管有沒有賦值,都市憑據它的類型分派對應的內存空間,他的可訪問性和作用區間與動態變量是一樣的

==========================================================================

關于C#中靜態數據成員和靜態要領的總結。

1.靜態數據成員:
界說:
使用static關鍵字界說的數據成員被稱為靜態數據成員。
意義:
靜態數據成員所屬類的所有實例都共享相同的靜態成員值。
訪問:
實際上,靜態成員并不屬于某個實例,靜態成員屬于類。因此,在使用靜態成員的時候,不克使用實例名.靜態成員名的形式,而應該使用類名.靜態成員名來進行那個訪問。原因是因為靜態變量沒有this指針,只能通過類名引用。
內存分派:
分派時間點 -> 靜態數據成員與全局變量相似,它的內存分派產生在應用程序類實例化的時候,即程序運行期間,其釋放在程序運行結束時,區別在于其作用域差別。靜態數據成員只作用在本文件內。
分派地點 -> 靜態變量和要領在靜態存儲區分派內存,而非靜態的在棧區或者堆上分派內存 。

=====================================================================
2.靜態要領:
界說:
使用static關鍵字聲明的要領被稱為靜態要領。
訪問:
同樣是通過類名.要領名來訪問。
簡述訪問規則:
a.靜態要領是不屬于特定東西的要領,靜態要領可以訪問靜態成員變量,靜態要領不可以直接訪問實例變量.
假如在靜態要領中訪問非靜態的成員,編譯器不會去判定你是通過類直接挪用還是通過東西挪用,一概認為是非法的,因為他不克確定這個非靜態的成員是否被分派了內存,他也懶得去確定。
b.假如靜態要領要訪問實例變量,只有一種要領:
可以在實例函數挪用的情況下,實例變量做為參數傳給靜態要領。
源代碼如下: namespace Test
...{
public class TT
...{
private int num = 10;
public void Method1()
...{
TT.Method2(num); //實例函數挪用,將實例變量num作用參數通報給了靜態要領Method2.
}
public static void Method2(int param) //靜態要領
...{
param = param * param;
Console.WriteLine(param);
}
public static void Main()
...{
TT.Method2(10);
TT test = new TT();
test.Method1();
}
}
}
即靜態要領可以接受實例變量類型的參數,然后用實例要領包裹靜態要領,再通報實例變量到靜態要領中。
c.靜態要領也不克直接挪用實例要領,可以間接挪用,首先要創建一個類的實例,然后通過這一特定東西來挪用實例要領。
即,靜態要領要挪用實例要領,只能通過接受東西類型的參數,在要領體內,用東西名.要領名來挪用實例要領。
如:
class nbr
...{
//class body;
public void method_nbr()
...{
//method_nbr body;
}
}
class Myapp
...{
static void Myapp_method(nbr object1)
...{
object1.method_nbr();
}
public static void Main()
...{
nbr myobj = new nbr();
Myapp_method(myobj);
}
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿图什市| 育儿| 崇州市| 涡阳县| 沁阳市| 上杭县| 安陆市| 张家川| 达日县| 大余县| 海南省| 安顺市| 兰西县| 东城区| 禄劝| 武安市| 冀州市| 抚顺市| 呼图壁县| 正阳县| 宜都市| 保山市| 来安县| 乌兰浩特市| 县级市| 内乡县| 蕉岭县| 乌鲁木齐县| 定州市| 巩留县| 隆子县| 泰兴市| 荆州市| 辉南县| 阿瓦提县| 佛冈县| 延川县| 伊川县| 平乐县| 双桥区| 丁青县|