亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

1.1定義及說明

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

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

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

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

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

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

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

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

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)用開始:");

    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)用開始:");

    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ù)并且不與代碼中的特定對象關(guān)聯(lián)的方法是很常見的要求。您應(yīng)該使用靜態(tài)類來包含那些方法。
靜態(tài)類的主要功能如下:

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

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

它們是密封的。-----------編譯器編譯時自動生成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í)例成員。編譯器將保證不會創(chuàng)建此類的實(shí)利。

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

靜態(tài)類:

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

相關(guān)文章

  • c# 配置文件App.config操作類庫的方法

    c# 配置文件App.config操作類庫的方法

    下面小編就為大家?guī)硪黄猚# 配置文件App.config操作類庫的方法。小編覺的挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • C#字符串使用密鑰進(jìn)行加解密

    C#字符串使用密鑰進(jìn)行加解密

    這篇文章主要為大家詳細(xì)介紹了C#字符串使用密鑰進(jìn)行加解密的代碼,C#字符串加密和解密實(shí)現(xiàn)代碼,感興趣的小伙伴們可以參考一下
    2016-08-08
  • selenium.chrome寫擴(kuò)展攔截或轉(zhuǎn)發(fā)請求功能

    selenium.chrome寫擴(kuò)展攔截或轉(zhuǎn)發(fā)請求功能

    Selenium?WebDriver?是一組開源?API,用于自動測試?Web?應(yīng)用程序,利用它可以通過代碼來控制chrome瀏覽器,今天通過本文給大家介紹selenium?chrome寫擴(kuò)展攔截或轉(zhuǎn)發(fā)請求功能,感興趣的朋友一起看看吧
    2022-07-07
  • 基于C# 生成Zip壓縮包代碼

    基于C# 生成Zip壓縮包代碼

    壓縮包制作也是很多項(xiàng)目中需要用到的功能。接下來通過本文給大家介紹基于C# 生成Zip壓縮包代碼,對c生成zip壓縮包相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • C# Winfrom實(shí)現(xiàn)Skyline畫直線功能的示例代碼

    C# Winfrom實(shí)現(xiàn)Skyline畫直線功能的示例代碼

    這篇文章主要介紹了C# Winfrom實(shí)現(xiàn)Skyline畫直線功能的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • C#多線程編程中的鎖系統(tǒng)(三)

    C#多線程編程中的鎖系統(tǒng)(三)

    這篇文章主要介紹了C#多線程編程中的鎖系統(tǒng)(三),本本文主要說下基于內(nèi)核模式構(gòu)造的線程同步方式、事件、信號量以及WaitHandle、AutoResetEvent、ManualResetEvent等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • C#保存與讀取DataTable信息到XML格式的方法

    C#保存與讀取DataTable信息到XML格式的方法

    這篇文章主要介紹了C#保存與讀取DataTable信息到XML格式的方法,實(shí)例分析了C#讀取DataTable信息到XML格式及讀取XML格式數(shù)據(jù)到DataTable的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • C# 實(shí)現(xiàn)Table的Merge,Copy和Clone

    C# 實(shí)現(xiàn)Table的Merge,Copy和Clone

    這篇文章主要介紹了C# 實(shí)現(xiàn)Table的Merge,Copy和Clone,幫助大家更好的利用c#處理文件,感興趣的朋友可以了解下
    2020-12-12
  • C# 格式化字符首字母大寫的方法

    C# 格式化字符首字母大寫的方法

    這篇文章介紹了C# 格式化字符首字母大寫的方法,有需要的朋友可以參考一下
    2013-08-08
  • C#中實(shí)現(xiàn)查找mysql的安裝路徑

    C#中實(shí)現(xiàn)查找mysql的安裝路徑

    這篇文章主要介紹了C#中實(shí)現(xiàn)查找mysql的安裝路徑,本文講解使用SQL語句查詢出mysql的安裝路徑,方便在備份時使用,需要的朋友可以參考下
    2015-06-06

最新評論