私はちょうどJavaの学習を始めました。単一インスタンス内の静的変数の値を変更する(Java)
class FamilyMember {
static String lastName = "Doe";
String name;
int age;
}
彼女が結婚したり、彼女の最後の名前を変更することを決定した取得した場合、どのようになり今は娘のためにインスタンスを作成し、そしてなど、アン、たとえば、に彼女の名前を設定します。あなたは以下のクラスを作成する場合と言いますlastNameという名前のインスタンスの値だけを変更し、クラス全体は変更しません。
FamilyMember john = new FamilyMember();
FamilyMember ann = new FamilyMember();
ann.lastName = "Stewart";
しかし、それは全体のクラスを変更:
は、最初に私は2つのインスタンスを作成してみました。私は新しいlastNameのを設定しますFamilyMemberクラスのメソッドを作成してみました:void changeLastName(String newName) {
lastName = newName;
}
はさえ、ボイドの前に「静的」を追加しようとしました。しかし、すべての人が単にクラス全体の価値を変え続けました。フォーラムでも同様の質問がありましたが、この特定の問題に対処するものはありませんでした。
そのフィールド 'static'は全く意味をなさない作り、' lastname' –
はいため 'static'修飾子を削除します。そして、このフォーラムでも同様の質問がありましたが、この特定の問題に対処している質問はありませんでした。この問題は、このサイト全体で、またほとんどのJavaチュートリアルの紹介でうまくいきます。 –
@HovercraftFullOfEels悪い実際の例がなくてもGoogleでいくつかの言葉で話すのは難しかったし、他のスレッドでも同様の質問と回答を正しく理解していないといけない –