我可以在 Java 的构造函数中添加多个覆盖方法吗?

Can I add more than one override method in a constructor in Java?

就像下面的例子一样,我在构造函数中添加了两个覆盖方法 build() 和 buildAdd() 。这样可以吗

public class createData {
    ...
    public createData(DataAdd dataAdd){
        super(dataAdd);
        build();
        buildAdd(); 
      }
    @Override
    public void build(){
        ...
    }
    @Override
    public void buildAdd(){
        ...
    }
}

我假设你的 class createData(Java 中的 class 名称应该顺便大写)扩展了其他一些 class 对吗?

为了清楚起见,您不是在构造函数中添加覆盖,而是在 class 中添加覆盖并从构造函数中调用它们。

所以是的,你可以做到,你甚至可以做到:

public class GenericCreateData
{
  public GenericCreateData(DataAdd dataAdd)
  {
    ...
    build();
    buildAdd();
  }

  public void build()
  {
    System.out.println("genericBuild");
  }

  public void buildAdd()
  {
    System.out.println("genericBuildAdd");
  }
}
public class SpecificCreateData extends GenericCreateData
{
  public SpecificCreateData(DataAdd dataAdd)
  {
    super(dataAdd);
  }

  @Override
  public void build()
  {
    System.out.println("specificBuild");
  }

  @Override
  public void buildAdd()
  {
    System.out.println("specificBuildAdd");
  }
}

调用new GenericCreateData(dataAdd)将输出:

genericBuild
genericBuildAdd

调用new SpecificCreateData(dataAdd)将输出:

specificBuild
specificBuildData

因为在特定实例类型上调用了方法