C#靜態(tài)變量與實例變量實例分析
本文實例講述了C#靜態(tài)變量與實例變量的具體用法,分享給大家供大家參考。具體分析如下:
1)在語法定義上的區(qū)別:
類變量也叫靜態(tài)變量,靜態(tài)變量前要加static關鍵字,而實例變量前則不加;
實例變量也叫對象變量,即沒加static 的變量;
2)在程序運行時的區(qū)別:
實例變量屬于某個對象的屬性,必須創(chuàng)建了實例對象,其中的實例變量才會被分配空間,才能使用這個實例變量。靜態(tài)變量不屬于某個實例對象,而是屬于類,所以也稱為類變量,只要程序加載了類的字節(jié)碼,不用創(chuàng)建任何實例對象,靜態(tài)變量就會被分配空間,靜態(tài)變量就可以被使用了??傊?,實例變量必須創(chuàng)建對象后才可以通過這個對象來使用。靜態(tài)變量則可以直接使用類名來引用;
3)在運行表現(xiàn)結果的區(qū)別:
類變量和實例變量的區(qū)別在于:類變量是所有對象共有,其中一個對象將它值改變,其他對象得到的就是改變后的結果;而實例變量則屬對象私有,某一個對象將其值改變,不影響其他對象;
再來看看下面這段程序:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { StaticTest A, B;//定義類的變量 A = new StaticTest();//創(chuàng)建類的實例A B = new StaticTest();//創(chuàng)建類的實例B StaticTest.stal = StaticTest.stal + 10;//通過類名給靜態(tài)變量賦值 A.a2 = A.a2 + 10;//給實例A的成員A2賦值 StaticTest.stal = StaticTest.stal + 10;//通過類名給靜態(tài)變量賦值 B.a2 = B.a2 + 20;//給實例B的成員賦值 Console.WriteLine("StaticTest.stal+{0},A.a2={1}", StaticTest.stal, A.a2);//輸出靜態(tài)變量和實例A的成員a2的值 Console.WriteLine("StaticTest.stal+{0},B.a2={1}", StaticTest.stal, B.a2);//輸出靜態(tài)變量和實例B的成員a2的值 Console.ReadKey(); } } class StaticTest { public static int stal = 10;//定義靜態(tài)變量 public int a2 = 10;//定義實例變量 } }
運行結果如下圖所示:
希望本文所述對大家C#程序設計的學習有所幫助。
- C# 靜態(tài)變量與靜態(tài)方法實例研究
- C# 靜態(tài)構造函數(shù)使用總結
- c#只讀字段和常量的區(qū)別,以及靜態(tài)構造函數(shù)的使用實例
- C#中靜態(tài)構造函數(shù)的幾點說明介紹
- C#中static靜態(tài)變量的用法實例
- C#靜態(tài)構造函數(shù)用法實例分析
- 理解C#編程中的靜態(tài)類和靜態(tài)成員以及密封類
- 解析C#中的私有構造函數(shù)和靜態(tài)構造函數(shù)
- C#中的靜態(tài)成員、靜態(tài)方法、靜態(tài)類介紹
- 淺析C#靜態(tài)類,靜態(tài)構造函數(shù),靜態(tài)變量
相關文章
C#實現(xiàn)定時任務Task Scheduler的示例代碼
這篇文章主要為大家詳細介紹了C#實現(xiàn)定時任務Task Scheduler的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-02-02C# ComboBox控件“設置 DataSource 屬性后無法修改項集合”的完美解決方法
這篇文章主要介紹了C# ComboBox控件“設置 DataSource 屬性后無法修改項集合”的解決方法,非常不錯具有一定的參考借鑒價值,需要的朋友可以參考下2016-11-11