我有一个类似下面的java类。所以我想用较小的变量创建该类的对象。
public class ABC{
private String firstName;
private String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
}
所以我想创建一个只包含firstName的对象。我可以实现吗?或者有什么方法可以创建具有相同或不同数量变量的对象。
答案 0 :(得分:1)
您可以在此处使用继承,例如:
public class Base {
private final String lastName;
public Base(String lastName) { this.lastName = lastName; }
public String getLastName() {
return lastName;
}
}
public class Child extends Base {
private String firstName;
public Child(String lastName, String firstName) {
super(lastName);
this.firstName = firstName;
}
public String getFirstName() {
return firstName;
}
}
现在,您的基类只有一个字段,子类又添加了另一个字段。
鉴于OP的意见:这里的直截了当的答案 - 使用Map。您可以使用"字段名称"从excel文件中作为地图中的键,并使用excel字段值作为地图值。你不能拥有Java中具有" real"字段动态。类的结构是固定的 - 所有字段在编译时都是已知的。因此,除非您想创建一个知道所有可能字段的类,否则最好的方法是使用地图。
答案 1 :(得分:1)
我不认为这是可能的。您可以扩展ABC类并覆盖getLastname()
阅读完评论之后,我认为你应该为你的数据对象创建一个包含所有必要字段的类,如果在excel文件中有一个值,你可以设置它,如果没有,那么该字段的值为null。