最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中的靜態(tài)成員、靜態(tài)方法、靜態(tài)類介紹

 更新時(shí)間:2016年03月25日 09:38:05   作者:暴走抹茶moukoy  
本文主要介紹了C#中的靜態(tài)成員、靜態(tài)方法、靜態(tài)類的基礎(chǔ)的使用,并做了相關(guān)的代碼演示,供初學(xué)者參考。

1.靜態(tài)成員、實(shí)例成員

1.1定義及說(shuō)明

數(shù)據(jù)成員:

靜態(tài)成員:靜態(tài)成員變量是和類相關(guān)聯(lián)的,可以作為類中"共"有的變量(是一個(gè)共性的表現(xiàn)),他不依賴特定對(duì)象的存在,訪問(wèn)的時(shí)候通過(guò)類名加點(diǎn)操作符加變量名來(lái)訪問(wèn).

實(shí)例成員:實(shí)例成員變量是和對(duì)象相關(guān)聯(lián)的,訪問(wèn)實(shí)例成員變量依賴于實(shí)例的存在.

函數(shù)成員:
靜態(tài)方法:靜態(tài)方法是不屬于特定對(duì)象的方法,靜態(tài)方法可以訪問(wèn)靜態(tài)成員變量和靜態(tài)方法;靜態(tài)方法不可以直接訪問(wèn)實(shí)例變量和實(shí)例方法,可以間接調(diào)用,首先要?jiǎng)?chuàng)建一個(gè)類的實(shí)例,然后通過(guò)這一特定對(duì)象來(lái)調(diào)用靜態(tài)方法;

實(shí)例方法:一個(gè)實(shí)例方法的執(zhí)行與特定對(duì)象關(guān)聯(lián),他的執(zhí)行需要一個(gè)對(duì)象存在。實(shí)例方法可以直接訪問(wèn)靜態(tài)變量和實(shí)例變量,當(dāng)多個(gè)實(shí)例對(duì)象存在時(shí),內(nèi)存中并不是存在美個(gè)特定的實(shí)例方法的拷貝,而是,相同類的所有對(duì)象都共享每個(gè)實(shí)例方法的一個(gè)拷貝(實(shí)例方法只占用“一套”空間)。

靜態(tài)方法和實(shí)例方法的訪問(wèn)權(quán)限表

靜態(tài)成員變量 靜態(tài)方法 實(shí)例成員變量 實(shí)例方法
靜態(tài)方法 直接訪問(wèn) 直接訪問(wèn) 不可直接訪問(wèn) 不可直接訪問(wèn)
實(shí)例方法 直接訪問(wèn) 直接訪問(wèn) 直接訪問(wèn) 直接訪問(wèn)

總之:實(shí)例方法的存在必須要有對(duì)象實(shí)例的存在,如果對(duì)象實(shí)例不存在,則實(shí)例方法也就沒(méi)有調(diào)用它的主人。靜態(tài)方法的存在前提是類的存在,所以無(wú)需聲明和New對(duì)象。

1.2代碼演示 

class Program
{

  static void Main(string[] args)
  {
    Class1.CallObjectFunc();//靜態(tài)調(diào)用

    Console.WriteLine(Environment.NewLine);

    Class1 tmpClass = new Class1();//實(shí)例調(diào)用
    tmpClass.ObjectFunc();

    Console.ReadKey();
  }
}

class Class1
{
  static int Class_m = 9;//靜態(tài)成員
  private int object_m = 8;//實(shí)例成員

  public static void CallObjectFunc()
  {
    Console.WriteLine("------------靜態(tài)方法調(diào)用開(kāi)始:");

    Class1 class1 = new Class1();
    class1.ObjectFunc();
    Console.WriteLine("object_m:" + class1.object_m.ToString());

    Console.WriteLine("------------靜態(tài)方法調(diào)用結(jié)束:");
  }

  public void ObjectFunc()
  {
    Console.WriteLine("實(shí)例方法調(diào)用開(kāi)始:");

    Console.WriteLine("Class_m:" + Class_m.ToString());

    Console.WriteLine("實(shí)例方法調(diào)用結(jié)束:");
  }
}

輸出結(jié)果:

2.靜態(tài)類

類可以聲明為 static 的,以指示它僅包含靜態(tài)成員。不能使用 new 關(guān)鍵字創(chuàng)建靜態(tài)類的實(shí)例。例如,創(chuàng)建一組不操作實(shí)例數(shù)據(jù)并且不與代碼中的特定對(duì)象關(guān)聯(lián)的方法是很常見(jiàn)的要求。您應(yīng)該使用靜態(tài)類來(lái)包含那些方法。
靜態(tài)類的主要功能如下:

它們僅包含靜態(tài)成員。----函數(shù)成員和變量都必須有static修飾

它們不能被實(shí)例化。

它們是密封的。-----------編譯器編譯時(shí)自動(dòng)生成sealed標(biāo)記

它們不能包含實(shí)例構(gòu)造函數(shù)。

因此創(chuàng)建靜態(tài)類與創(chuàng)建僅包含靜態(tài)成員和私有構(gòu)造函數(shù)的類大致一樣。私有構(gòu)造函數(shù)阻止類被實(shí)例化。

使用靜態(tài)類的優(yōu)點(diǎn)在于,編譯器能夠執(zhí)行檢查以確保不致偶然地添加實(shí)例成員。編譯器將保證不會(huì)創(chuàng)建此類的實(shí)利。

靜態(tài)類是密封的,因此不可被繼承。靜態(tài)類不能包含構(gòu)造函數(shù),但仍可聲明靜態(tài)構(gòu)造函數(shù)以分配初始值或設(shè)置某個(gè)靜態(tài)狀態(tài)。

靜態(tài)類:

static class CompanyInfo
{
  public static string GetCompanyName() { return "CompanyName"; }
  public static string GetCompanyAddress() { return "CompanyAddress"; }
}

相關(guān)文章

  • C#圖像處理之邊緣檢測(cè)(Sobel)的方法

    C#圖像處理之邊緣檢測(cè)(Sobel)的方法

    這篇文章主要介紹了C#圖像處理之邊緣檢測(cè)(Sobel)的方法,使用自定義sobel算子函數(shù)實(shí)現(xiàn)對(duì)圖像邊緣的檢測(cè)功能,需要的朋友可以參考下
    2015-04-04
  • C# 利用ICSharpCode.SharpZipLib實(shí)現(xiàn)在線壓縮和解壓縮

    C# 利用ICSharpCode.SharpZipLib實(shí)現(xiàn)在線壓縮和解壓縮

    本文主要主要介紹了利用ICSharpCode.SharpZipLib第三方的DLL庫(kù)實(shí)現(xiàn)在線壓縮和解壓縮的功能,并做了相關(guān)的代碼演示。
    2016-04-04
  • Unity shader實(shí)現(xiàn)消融效果

    Unity shader實(shí)現(xiàn)消融效果

    這篇文章主要為大家詳細(xì)介紹了Unity shader實(shí)現(xiàn)消融效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#使用GDI+創(chuàng)建縮略圖實(shí)例

    C#使用GDI+創(chuàng)建縮略圖實(shí)例

    這篇文章主要介紹了C#使用GDI+創(chuàng)建縮略圖實(shí)例,是C#程序設(shè)計(jì)中非常實(shí)用的技巧,需要的朋友可以參考下
    2014-10-10
  • C#使用IronPython調(diào)用python代碼的實(shí)現(xiàn)示例

    C#使用IronPython調(diào)用python代碼的實(shí)現(xiàn)示例

    本文主要介紹了在C#中使用IronPython調(diào)用Python代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • C# 中的委托詳細(xì)解析與完整應(yīng)用小結(jié)

    C# 中的委托詳細(xì)解析與完整應(yīng)用小結(jié)

    C#委托是一種類型安全的函數(shù)指針,允許將方法作為參數(shù)傳遞或賦值給變量,它在事件處理、回調(diào)和異步編程中廣泛應(yīng)用,本文詳細(xì)介紹了委托的基本概念、用法和高級(jí)應(yīng)用,感興趣的朋友一起看看吧
    2025-03-03
  • C#實(shí)現(xiàn)溫度轉(zhuǎn)換功能

    C#實(shí)現(xiàn)溫度轉(zhuǎn)換功能

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)溫度轉(zhuǎn)換功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C#使用RestClient調(diào)用Web API

    C#使用RestClient調(diào)用Web API

    這篇文章介紹了C#使用RestClient調(diào)用Web API的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • 詳解C#中Helper類的使用

    詳解C#中Helper類的使用

    項(xiàng)目中用戶頻繁訪問(wèn)數(shù)據(jù)庫(kù)會(huì)導(dǎo)致程序的卡頓,甚至堵塞。使用緩存可以有效的降低用戶訪問(wèn)數(shù)據(jù)庫(kù)的頻次,有效的減少并發(fā)的壓力。而helper類對(duì)緩存有了封裝,本文展示了封裝的示例代碼,需要的可以參考一下
    2022-04-04
  • 一文詳解如何在C#中使用RESTful API

    一文詳解如何在C#中使用RESTful API

    通過(guò)Web開(kāi)發(fā)的路徑,大家會(huì)發(fā)現(xiàn)自己遲早需要處理外部API,本文將列出在C#項(xiàng)目中使用RESTful API的方法的最全面列表,希望對(duì)大家有所幫助
    2025-03-03

最新評(píng)論

丹阳市| 镇巴县| 那坡县| 扬州市| 靖江市| 合山市| 藁城市| 阿鲁科尔沁旗| 乌拉特中旗| 天镇县| 兴仁县| 南平市| 长宁县| 铅山县| 山东省| 普定县| 海淀区| 广平县| 亳州市| 黄冈市| 康保县| 巴里| 息烽县| 呼和浩特市| 无极县| 锦屏县| 临湘市| 青铜峡市| 奈曼旗| 庆城县| 九台市| 缙云县| 枝江市| 高陵县| 溧水县| 呼伦贝尔市| 望江县| 苗栗县| 乾安县| 民权县| 怀集县|