今天在调试程序的时候犯了一个弱智的错误!来,看代码:
客户端调用:
结果和预期的不一样。想想恍然大悟,构造函数里调用构造函数,其实是构造了2个对象,第一个对象返回前端,当然无初始值,第二个临时的一个对象,有初始值。汗!
解决方案很简单:
其实构造函数互相调用可以通过this重载
public class test
{
public int a = 0;
public int b = 0;
public test()
{
}
public test(int _a)
: this(_a, 0)
{
//new test(_a,0);
}
public test(int _a,int _b)
{
this.a = _a;
this.b = _b;
}
}