プロが教えるわが家の防犯対策術!

class A のフィールドにfinal つけてるのに、普通にtestで代入して、test2でも書き換えられるのですが
このクラスAのフィールのfinalの意味ってありますか?
finalってフィールド一度宣言したら、書き換えられないですよね?

class A{
final String name;

A(String name2){
this.name = name2;
}

}
public class M {
public static void main(String[] args){

A test = new A("test");
System.out.println(test.name);
A test2 = new A("test2");
System.out.println(test2.name);
}
}

A 回答 (1件)

testとtest2は別のオブジェクトなのでtestとtest2のnameは別物です。


test.name は1度しか代入できない
test2.name も1度しか代入できません。
    • good
    • 1
この回答へのお礼

有難う御座います。
別のオブジェクトであることを忘れてました。

助かります。

お礼日時:2022/06/10 23:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!