public class A
{
public static int Y = 3; //@@@@过程一
/// <summary>
/// 静态构造函数,一般在调用静态变量A.Y,这时Y=4 <==>(3+1),或者第一次调用构造方法 如 A a =new A();的时候会执行,且执行一次
/// </summary>
static A() //@@@@过程二 静态构造方法(注意这里不能使用除static以外的其他修饰符)
{
Y += 1;
}
/// <summary>
/// 这个是类(默认)构造方法
/// </summary>
public A() //@@@@过程三
{
Y = 9;
}
}
public class B
{
public int like()
{
return A .Y;//此时的Y 会执行默认构造方法执行 //@@@@执行过程二 且只执行过程二 1次
}
public int like2()
{
A a = new A(); //此时的Y 会执行默认构造方法执行 //@@@@过程三
return A .Y;
}
}
////////调用上面的方法
public string testStatic()
{
B b = new B();
return string .Format("like is {0} ,like2 is {1}", b.like(), b.like2());
}
//输出为
like is 4 ,like2 is 9
这里主要是考静态构造函数,还有构造函数的方法
虽然现在知道他的调用过程,但还不是很清楚这个静态构造函数到底有什么用处。