class class1
{
private static int count = 0;
static class1()
{
count++;
}
public class1()
{
count++;
}
}
class1 o1=new class1();
class1 o2=new class1();
则o1.count的值是多少 ( ). A)值为0 B)值为1 C)值为2 D)值为3 该选什么???郁闷 私有的又怎么能被new的点出来了? 上面的是全题了 没抄错!
忘高手帮忙解答 谢谢!
{
private static int count = 0;
static class1()
{
count++;
}
public class1()
{
count++;
}
}
class1 o1=new class1();
class1 o2=new class1();
则o1.count的值是多少 ( ). A)值为0 B)值为1 C)值为2 D)值为3 该选什么???郁闷 私有的又怎么能被new的点出来了? 上面的是全题了 没抄错!
忘高手帮忙解答 谢谢!
解决方案 »
- C#连接数据库字符串的问题
- 急急急!!!省市二级联动,可以实现效果,但是无法将客户的选择保存到后台,并保存到数据库
- VS2005编译GDAL
- 200分求助:c#模拟c++中的联合
- 怎么在ultrawebgrid控件中的某一列中加入DropDownList控件?最好给段c#的事例代码
- 请教关于vs2005的程序发布的问题
- DataGirdView
- 如何用FindControl取出DataGrid的HeaderTemplate中的控件
- 源码比对工具实现思路请教
- 我做了一个项目,用act怎么测试呢?
- 安装了VS2008完全版是不是不能安装SQL2000了
- 怎样在.NET中使用水晶报表Crystal Report呢
class1 o2=new class1();
则o1.count 编译不通过。
执行是
1.静态构造函数
2.公共构造函数
所以count应该为2class1 o2=new class1();
因为静态构造函数只执行一次,
所以只执行公共构造函数,count应该为3,count是静态变量,所以是累加的!!
私有,且静态成员
另外,题目问得有些不正确(或者说出题者故意弄陷阱),应该问class1.count 值是多少. 因为.count不是仅仅属于o1这个class1实例化后对象的.
static class1也是一样,静态构造函数,属于class1类的,在类被实例化的时候会被调用一次.(仅一次)2.选D) 3因为第一点提及的.count并不是单单属于某个对象的,而是属于class1的,static 修饰的构造函数亦是.多个class1的实例共用一个static构造函数,该静态构造函数仅会在该类第一次实例化的时候调用一次.所以是选D) 3static count = 0 -->
static class1 count++ (1) -->
class1 o1=new class1(); count++ (2) -->
class1 o2=new class1(); count++ (3)
{
class class1
{
private static int count = 0;
static class1()
{
count++;
}
public class1()
{
count++;
}
} class Program
{
static void Main(string[] args)
{
class1 o1 = new class1();
class1 o2 = new class1(); int i = o1.count; Console.ReadKey();
}
}
}编译试试看!
你可以改成public,调用class1.count因为静态的!
但count作为初值,设置为私有及静态,通过方法返回,在编称中经常是用到的!
private 只是打错了