static和public的區別


static:靜態。
 
可以設置:靜態類、靜態變量、靜態方法。
 
沒有使用static修飾的成員為實例成員。
靜態成員的使用:通過類名。
 
1。不加static修飾的成員是對象成員,歸每個對象所有。

2。加static修飾的成員是類成員,可以由一個類直接調用,為所有對象共有。

用static關鍵字標識的程序元素是靜態的,不用static標識的程序元素是非靜態.

兩者的區別在於:

靜態的東西是在類型加載初始時初始化的,並且與類相關.
非靜態東西一般放在實例的構造函數中初始化,它是與特定類的實例相關的.

 

舉例:
static變量可以不必實例化直接使用.
//定義類A
class A
{
 public static string aUser="wangjian";
}

//定義類B
class B
{
 string bUser = A.aUser;
 //類B可以直接使用類A的aUser,而不必先實例化類A.
}

 

using System;

namespace A.B.C
{
 public class MyClass
 {
  static string a="a string";//靜態方法display()只能訪問靜態成員a

  public static void Main()
  {
   Display();
  }

  public static void  Display()
  {
   Console.WriteLine(a);
  }
 }
}

 

 

public:公共。
 
在類名前邊用的話,說明這個類是公共類。
 
可以設置:
public方法, public屬性, 和public類
 
表示在其它任何類或方法中都可以訪問。
 
要訪問其它類中的public的屬性、public方法,則必須必對那個類進行實例化。
 
public : 公共成員,完全公開,沒有訪問限制。
private : 私有成員, 在類的內部才可以訪問。
protected : 保護成員,該類內部和繼承類中可以訪問。
internal: 在同一命名空間內可以訪問。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM