私はクラスに問題があります。私は自分のクラスを「人」と呼んでいました。パラメータ "name"と "age"をとります。他のクラスでは私はPerson []を作りたいです。どちらが機能するのか、主な問題は、配列は入力した最後のエントリのみを保存することです。どうすれば修正できますか?Javaクラスの問題
注:これは宿題ではありません。私は自分のプロジェクトに取り組んでいます。
コード:
public class Person {
private static String name;
private static int age;
public Person(){
Person.name = "NAME";
Person.age = 0;
}
public Diver(String name,int age){
Person.name = name;
Person.age = age;
}
public static String getName(){
return Person.name;
}
public static int getScore(){
return Person.age;
}
public static String printString(){
return Person.name + " " + Person.age;
}
}
public class TESTER {
public static void main(String[]args){
Person[] persons = new Person[4];
persons[0] = new Person("bob2",15);
persons[1] = new Person("bob1",15);
persons[2] = new Person("bob",16);
for(int i = 0;i<persons.length;i++){
System.out.println(persons[i].printString());
}
}
}
アーメン!そして、これが問題である理由は、変数を静的にすることで、オブジェクトではなくクラスの変数にして、すべてのオブジェクトが同じ名前と年齢の変数を共有することになります。したがって、あなたはすべてのためにそれを変更します。 –
静的変数を使用する必要がある状況がいくつかあります。この場合の例は、そこにいる人の数を把握したい場合です。しかし、ほとんどのものは一般的に静的ではありません(私の経験では) – matzahboy