如果沒有構造與析構函數, new 時將使用默認(或繼承); 給一個私有的構造函數能阻止類被實例 化:
using System;
class MyClass
{
private MyClass() { }
public static void Msg1() { Console.WriteLine("Msg1"); }
public static void Msg2() { Console.WriteLine("Msg2"); }
}
class Program
{
static void Main()
{
MyClass.Msg1(); //Msg1
MyClass.Msg2(); //Msg2
Console.ReadKey();
}
}
如果一個類有了非默認的構造函數, 就不能再使用默認的構造函數:
using System;
class MyClass
{
private int FNum;
public int Num { get { return FNum; } }
public MyClass(int x, int y)
{
this.FNum = x + y;
}
}
class Program
{
static void Main()
{
MyClass obj;
obj = new MyClass(1, 2);
Console.WriteLine(obj.Num); //3
Console.ReadKey();
}
}