public class ex11_2 {
public static void main(String[] args){
Object a=new Person("abc1","def1","ghi1");
System.out.println(a.toString());
Object b=new Person("abc2","def2","ghi2");
System.out.println(a.toString());
}
}
class Person{
private static String name;
private static String address;
private static String phoneNo;
public Person(){
}
public Person(String name,String address,String phoneNo){
setName(name);
setAddress(address);
setPhoneNo(phoneNo);
}
public String toString(){
return super.toString()+(" "+getName()+","+getAddress()+","+getPhoneNo()+".");
}
public static String getName() {
return Person.name;
}
public static void setName(String name) {
Person.name = name;
}
public static String getAddress() {
return address;
}
public static void setAddress(String address) {
Person.address = address;
}
public static String getPhoneNo() {
return phoneNo;
}
public static void setPhoneNo(String phoneNo) {
Person.phoneNo = phoneNo;
}
}
皆さんこんにちは。私は Java プログラミングの初心者で、OOP について質問したいと思います。この小さなプログラムでは、Person のクラスを作成し、その toString() メソッドをテストします。
テストの結果は次のとおりです。
Person@635b9e68 abc1,def1,ghi1.
Person@635b9e68 abc2,def2,ghi2.
b の作成後に、b のデータ フィールドが a のデータ フィールドに置き換わる理由が気になります。ありがとう