2016-04-04 2 views
-1

Как вы изменяете и объекты внутри своего класса в Java?Как изменить объект внутри своего класса?

например:

public Node() 
//constructs a new node 

public void setNode(Node n) 
***this.node** = this.right; //How do you modify the node within it's same class? 
+0

является '' this.node'' даже поле? Или это вопрос о том, можете ли вы сделать что-то вроде '' this = this.right; ''? Вы не можете. – f1sh

+0

Так что невозможно сделать что-то вроде этого = this.right? –

+1

Да, это невозможно. – Berger

ответ

1

Вы не можете напрямую изменить объект. Вы можете изменить его, изменив его компоненты, так как объект является составного типа, то есть, это сделано путем объединения некоторым примитивных типов

например:

Это не представляется возможным:

public void setNode(Node n) 
{ 
    this = n; 
} 

Но, вы можете сделать это:

public void setNode(Node n) 
{ 
    this.x = n.x; 
    this.y = n.y; 
    this.z = n.z; 
} 
+0

Спасибо! Значит, это похоже на глубокую копию? –

+0

@ C.Chiang Да. – Hackerdarshi

Смежные вопросы