C#靜態變量與實例變量實例分析
阿新 • • 發佈:2017-11-29
XML nor -c margin ron str spl 漢諾塔問題 漢諾塔
C#靜態變量與實例變量實例分析
本文地址: http://www.paobuke.com/develop/c-develop/pbk23479.html
C#繪制橢圓的方法C#解決漢諾塔問題DEMOC#中動態數組用法實例C#異步委托調用實例分析
本文實例講述了C#靜態變量與實例變量的具體用法,分享給大家供大家參考。具體分析如下:
1)在語法定義上的區別:
類變量也叫靜態變量,靜態變量前要加static關鍵字,而實例變量前則不加;
實例變量也叫對象變量,即沒加static 的變量;
2)在程序運行時的區別:
實例變量屬於某個對象的屬性,必須創建了實例對象,其中的實例變量才會被分配空間,才能使用這個實例變量。靜態變量不屬於某個實例對象,而是屬於類,所以也稱為類變量,只要程序加載了類的字節碼,不用創建任何實例對象,靜態變量就會被分配空間,靜態變量就可以被使用了。總之,實例變量必須創建對象後才可以通過這個對象來使用。靜態變量則可以直接使用類名來引用;
3)在運行表現結果的區別:
類變量和實例變量的區別在於:類變量是所有對象共有,其中一個對象將它值改變,其他對象得到的就是改變後的結果;而實例變量則屬對象私有,某一個對象將其值改變,不影響其他對象;
再來看看下面這段程序:
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();//創建類的實例A B = new StaticTest();//創建類的實例B StaticTest.stal = StaticTest.stal + 10;//通過類名給靜態變量賦值 A.a2 = A.a2 + 10;//給實例A的成員A2賦值 StaticTest.stal = StaticTest.stal + 10;//通過類名給靜態變量賦值 B.a2 = B.a2 + 20;//給實例B的成員賦值 Console.WriteLine("StaticTest.stal+{0},A.a2={1}", StaticTest.stal, A.a2);//輸出靜態變量和實例A的成員a2的值 Console.WriteLine("StaticTest.stal+{0},B.a2={1}", StaticTest.stal, B.a2);//輸出靜態變量和實例B的成員a2的值 Console.ReadKey(); } } class StaticTest { public static int stal = 10;//定義靜態變量 public int a2 = 10;//定義實例變量 } }
運行結果如下圖所示:
希望本文所述對大家C#程序設計的學習有所幫助。
除聲明外,跑步客文章均為原創,轉載請以鏈接形式標明本文地址C#靜態變量與實例變量實例分析
本文地址: http://www.paobuke.com/develop/c-develop/pbk23479.html
相關內容
VS2015 C#生成dll文件的方法(32/64)詳解C#對XML、JSON等格式的解析C#操作本地文件及保存文件到數據庫的基本方法總結C#基礎語法:方法參數詳解C#繪制橢圓的方法C#解決漢諾塔問題DEMOC#中動態數組用法實例C#異步委托調用實例分析
C#靜態變量與實例變量實例分析