gpt4 book ai didi

java - Java中如何根据父类(super class)填充子类的字段?

转载 作者:行者123 更新时间:2023-12-01 22:16:43 24 4
gpt4 key购买 nike

我有一个基摘要类如下:

public Class Summary{
private String name;
private String status;
private String id;

// Getters and setters
}

然后我扩展了这个类来获取客户摘要:

public Class CustomerSummary extends Summary{
private String lastLogin;
private String address;

// Getters and setters
}

现在我正在调用一个 Rest 端点,它将响应映射到 Summary 对象。然后,我需要设置调用另一个休息端点的 lastLogin 和地址,并将组合数据作为 CustomerSummary 对象返回。

Summary summary = restClient.getStatus("1234");
CustomerSummary customer = new CustomerSummary()

如何将客户对象的所有继承字段设置为与汇总对象相同?我无法进行强制转换,因为我必须向下强制转换并且会遇到 ClassCastException。

我可能有 10 个字段,因此为摘要对象的所有字段调用客户对象的 setter 将导致大量重复代码。有更聪明的方法来处理这个问题吗?

最佳答案

你可以创建一个“复制构造函数”

protected Summary(Summary template){
this.name = template.name;
// ....
}

并从您的子类中调用它

CustomerSummary(Summary template){
super(template);
}

这样你就可以做到

Summary summary = restClient.getStatus("1234");
CustomerSummary customer = new CustomerSummary(summary);

关于java - Java中如何根据父类(super class)填充子类的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30836111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com