是否可以将新对象分配到“this”中?

我在类的构造函数中进行了一些计算,现在假设我想要更改此类中的一个变量字段,这将影响之前进行的计算。

每次我会调用任何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)
    }}


忽然笑
浏览 539回答 2
2回答

慕容3067478

您无法分配新对象this。这总是引用当前对象。你为什么不设置X并Calculting()从中调用方法Set_X?这将改变当前对象的状态。如果您不想更改当前对象,例如因为对其进行了其他引用,则必须创建一个新实例并从中返回Set_X。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java