1. 程式人生 > >C#靜態變量與實例變量實例分析

C#靜態變量與實例變量實例分析

XML nor -c margin ron str spl 漢諾塔問題 漢諾塔

本文實例講述了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#解決漢諾塔問題DEMO技術分享圖片C#中動態數組用法實例技術分享圖片C#異步委托調用實例分析

C#靜態變量與實例變量實例分析