オブジェクトA
がint var;
のような属性を持ち、オブジェクトB
の属性がint var2
の場合、両方のオブジェクトが同じコンストラクタを使用して同じクラスからインスタンス化されています。説明のためにvar=3
とvar2=0
を割り当てようとしていますA=B
はA.var==0
になりますか?私のためにあなたの答えに動機を与えてください。ここOOP/JAVA:別のオブジェクトへのassingはその属性(クラス変数)も変更しますか?
あなたがより多くを必要とする場合に、よりコードです:
人々がご理解のおかげでたくさん、私はすでに知っていることを私に説明しattemtpting前にコードを確認してください
public class CarSize{
public CarSize(int x)
{
this.var=x;
}
public void call()
{
doubleVar(this);
}
private void doubleVar(CarSize cz)
{
int vara= cz.getVar()*2;
CarSize c= new CarSize(vara);
cz=c;
}
public int getVar(){return this.var;}
private int var;
public static void main(String args[])
{
CarSize cz = new CarSize(3);
cz.call();
System.out.println(cz.getVar());
}
}
ANNOUNCEMENT 。
これは変更されていませんAのフィールドでは、代入はAをBと同じ場所にするので、このフィールドはB – Semant1ka
と同じになりますが、少なくとも表示されたコードではそれほど意味がありません。私 –
そしてあなたは何を期待していますか?あなたのコードは6を返しますか?完全に論理を得ることはできません。また、私はcz = new CarSize(vara)を提案します。テンポラリオブジェクトなし – Semant1ka