程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#中的靜態成員和非靜態成員

C#中的靜態成員和非靜態成員

編輯:關於C語言

若將類中的某個成員聲明為static,該成員稱為靜態成員。類中的成員要麼是靜態,要麼是非靜態。一般說來,靜態成員是屬於類所有的,非靜態成員則屬於類的實例--對象。

以下示例代碼演示了如何聲明靜態和非靜態成員。

程序清單10-5:

using System;
class Test
{
  int x;
  static int y;
     void F(){
     x=1; //正確,等價於this.x=1
     y=1; //正確,等價於Test.y=1
  }
  static void G(){
  x=1; //錯誤,不能訪問this.x
  y=1; //正確,等價於Test.y=1
  }
  static void Main(){
  Test t=new Test();
  t.x=1;  //正確
  t.y=1;  //錯誤,不能在類的實例中訪問靜態成員
  Test.x=1; //錯誤,不能按類訪問非靜態成員
  Test.y=1; //正確 
  }
}

類的非靜態成員屬於類的實例所有,每創建一個類的實例,都在內存中為非靜態成員開辟了一塊區域。而類的靜態成員屬於類所有,為這個類的所有實例所共享。無論這個類創建了多少個副本,一個靜態成員在內存中只占有一塊區域。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved