不确定如何在JAVA中初始化一个新对象,该对象是另一个对象的对象参数的副本

本质上,我正在制作一个小程序,处理双精度值和枚举作为输入并返回一些输出。问题是我需要这样创建一个新对象:


对于这个问题,我无法导入类或使用静态方法,所以我一直在尝试克隆这两个对象而不使用任何导入的类。我不确定我的“Example z = new Example(t)”行是假的还是什么。我可以将“t”的值设置为另一个设置的私有“示例”对象,但我不知道如何将该信息发送到对象“z”。


public class Example{

    private double temp;

    private Scale scale;

    private char start;

    public Example(double temp){...}

    public Example(double temp, Scale scale){...}

    public Example(Example input){

              /*I don't know what to put in here in order

              in order to copy the input to a new object*/

    }

}


public class Test{

    public static void main(String[] args){

    Example t = new Example(-10000.1, Scale.FAHRENHEIT);

    Example z = new Example(t);

}


婷婷同学_
浏览 95回答 2
2回答

千万里不及你

public Example(Example input){    this.temp = input.temp;    this.scale = input.scale;    this.start = input.start;}可能有帮助 ;)

冉冉说

您可以根据您的用例使用以下任何技术:clone()如果类实现 Cloneable,则使用。手动创建克隆。如果有一个constructor接受所有参数的,它可能很简单,例如new Example( ex.temp, ex.scale, ... )。使用serialization. 如果您的对象是一个图,则序列化/反序列化它可能更容易获得克隆。您可以参考此代码示例
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java