提问人:Ayush 提问时间:7/19/2023 更新时间:7/19/2023 访问量:43
如何在 java 中将值从一个对象复制到另一个对象?
How to copy values from one object to another from constructors in java?
问:
public class testing {
String name;
String aname;
testing(String n){
this.name = n;
}
testing(testing s){
this.aname = s.name;
}
void display(){
System.out.println(name + " -first cons");
System.out.println(aname + " -second cons");
}
public static void main(String[] args) {
System.out.println(" ");
testing ab = new testing("test");
testing ab2 = new testing(ab);
ab2.display();
ab.display();
}
}
这是程序,我已将输出的屏幕截图与问题链接在一起。
第一个构造函数初始化变量,我创建了第二个构造函数来创建另一个对象。我想从原始变量中复制变量的值,但我不知道发生了什么。 当我尝试使用方法打印变量时,它一次打印一个变量,同时在另一个变量中打印 null。
请帮助我解决这个问题,或指导我通过另一种方式解决这个问题。
我对编码相当陌生,所以请记住这一点。
谢谢。
答:
1赞
daniu
7/19/2023
#1
您正在初始化任一构造函数中的一个成员,然后打印出两个成员 - 因此您未初始化的那个将是 。null
你可能想要的是
class Testing {
String name;
public Testing(String aname) {
name = aname;
}
public Testing(Testing source) {
name = source.name; // or this(source.name)
}
}
请注意,这与复制构造函数本身无关。
评论