class Class1
{
private static Class1
obj = new Class1();
public static int counter1;
public static int counter2 = 0;
private Class1()
{
counter1++;
counter2++;
}
public static Class1 getInstance()
{
return obj;
}
[STAThread]
static void Main(string[] args)
{
Class1 obj = Class1.getInstance();
Console.WriteLine("Class1.counter1=="+Class1.counter1);
Console.WriteLine("Class1.counter2=="+Class1.counter2);
}
}看下面这段代码的输出结果是什么啊?
请分析理由
{
private static Class1
obj = new Class1();
public static int counter1;
public static int counter2 = 0;
private Class1()
{
counter1++;
counter2++;
}
public static Class1 getInstance()
{
return obj;
}
[STAThread]
static void Main(string[] args)
{
Class1 obj = Class1.getInstance();
Console.WriteLine("Class1.counter1=="+Class1.counter1);
Console.WriteLine("Class1.counter2=="+Class1.counter2);
}
}看下面这段代码的输出结果是什么啊?
请分析理由
装载Class1类,
初始化静态成员obj,obj = new Class1();,调用private构造函数,counter1,counter2都在默认值基础上加1,值为1
初始化静态成员counter2为0输出结果为:
Class1.counter1==1
Class1.counter2==0