仅使用指定的变量创建对象

时间:2018-03-22 11:53:25

标签: java object

我有一个类似下面的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的对象。我可以实现吗?或者有什么方法可以创建具有相同或不同数量变量的对象。

2 个答案:

答案 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。