我在类的构造函数中进行了一些计算,现在假设我想要更改此类中的一个变量字段,这将影响之前进行的计算。每次我会调用任何set方法,我将需要再次运行计算(或复制代码两次(这是错误的编码..))如果我能像下面所示那样做,我认为代码看起来会更好,我只是想知道它无法完成的原因是什么?class Entity{
private int x,y,z;
public Entity(int x,int y,int z)
{
Calculating();
}
private void Calculating()
{
// ...
}
public void Set_X(int x)
{
this = new Entity(x,this.y,this.z)
}}
2 回答

慕容3067478
TA贡献1773条经验 获得超3个赞
您无法分配新对象this
。这总是引用当前对象。
你为什么不设置X并Calculting()
从中调用方法Set_X
?这将改变当前对象的状态。
如果您不想更改当前对象,例如因为对其进行了其他引用,则必须创建一个新实例并从中返回Set_X
。
添加回答
举报
0/150
提交
取消