我创建了一个静态变量,并在创建多个对象后尝试访问其内容,但我得不到相同的值。
class Emp
{
int id;
static int empID;
public Emp()
{
empID = id++;
}
public static int geID()
{
return empID;
}
public static void setEmpID(int value)
{
empID = value;
}
}
class Program
{
static int Main(string[] args)
{
Emp.setEmpID(76);
Emp e1 = new Emp();
Emp e2 = new Emp();
Console.WriteLine(Emp.geID());
return 0;
}
}
为什么我得到' 0'在控制台,而我期待76在控制台。 有什么想法吗?
答案 0 :(得分:2)
在构造函数中,将empID设置为id(id = 0),并将AFTER加1为id。 我想你需要改变你的代码:
class Emp
{
int id;
static int empID;
public Emp()
{
id = empID++;
}
public static int geID()
{
return empID;
}
public static void setEmpID(int value)
{
empID = value;
}
}