※ ChatGPTを利用し、要約された質問です(原文:オブジェクトのフィールドのコピーについて)
オブジェクトのフィールドのコピーについて
このQ&Aのポイント
Javaでオブジェクトのフィールドをコピーする方法を教えてください。
クラスの別のオブジェクトの各フィールドの内容を自身のオブジェクトの各フィールドにコピーするプログラムが知りたいです。
具体的には、HumanクラスのcopyDataメソッドでフィールドのコピーを実現したいです。
下記で作成したプログラムで、Humanクラスの別のオブジェクトの各フィールドの内容を自身のオブジェクトの各フィールドにコピーするpublicメソッドのcopyDataで、「Humanクラスの別のオブジェクトの各フィールドの内容を自身のオブジェクトの各フィールドにコピーする」するプログラムが分かりません。むしろ、知らなくて、もしよければどのようなプログラムになるのか教えてください。
class Human
{
private double height, weight;
private String name;
public Human()
{
height = 0;
weight = 0;
name = "noname";
}
public void inputData(String na, double ht, double wt)
{
name = na;
height = ht;
weight = wt;
}
public void showValue()
{
System.out.println("名前: " + name + ", 身長: " + height + "cm, 体重:"+ weight + "kg");
}
public void copyData(Human a)
{
}
}
class KNO1
{
public static void main(String args[])
{
Human member1,member2,member3;
System.out.println("member1:");
member1 = new Human();
member1.inputData("Taro",165.0,55.0);
menber1.showValue();
System.out.println("member2:");
menber2 = new Human();
member2 = member1;
member2.showValue();
System.out.println("member3:");
member3 = new Human();
member3.copyData(menber1);
member3.showValue();
member1.inputData("Hana",175.0,75.0);
System.out.println("member1:");
member1.showValue();
System.out.println("member2:");
member2.showValue();
System.out.println("member3:");
member3.showValue();
}
}
補足
出題されているプログラムのcopyDataで、「Humanクラスの別のオブジェクトの各フィールドの内容を自身のオブジェクトの各フィールドにコピーする」という意味が分らなかった。