You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Lombok创建调用父类AllArgsConstructor的子类构造方法?

解决方案

要让Lombok自动生成子类Child的全参构造方法(包含父类的name和子类的age,并正确调用父类构造),最简洁的方式是使用**@SuperBuilder**注解,它专门用于处理继承关系下的构造方法与构建器生成。

步骤1:给父类添加@SuperBuilder

父类需要配合@SuperBuilder注解,让Lombok能识别继承关系中的字段:

@Data
@AllArgsConstructor
@SuperBuilder
public class Parent {
    private String name;
}

步骤2:给子类添加@SuperBuilder

子类同样添加@SuperBuilder,Lombok会自动生成包含父类字段和子类字段的全参构造方法,等价于你手动编写的代码:

@Data
@SuperBuilder
public class Child extends Parent {
    private int age;
}

生成的等价构造方法

Lombok会自动生成如下构造方法:

public Child(String name, int age) {
    super(name);
    this.age = age;
}

补充说明

  • @SuperBuilder是Lombok的稳定特性(原实验性特性现已成熟),除了生成构造方法,还会提供链式构建器API,方便对象创建。
  • 若你仅需要构造方法而不需要构建器,也可以使用@SuperBuilder(toBuilder = false)来关闭构建器生成。

内容的提问来源于stack exchange,提问作者Xi Minghui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 19:40:28