我完全困惑如何在以下场景中使用 Lombok:
基类:
@Data
public abstract class BaseClass {
protected final String foo;
protected final String bar;
}
子类:
@Data
public class SubClass extends BaseClass {
private final String bazz;
}
Lombok 抱怨@Data
第二个类上的注释,它需要基类中的默认构造函数。但是,基类中的字段是最终的,因此默认构造函数必须将所有字段初始化为某个值,这很麻烦,因为它们不能被子类的构造函数更改。
设置这些类以便可以通过带有参数的构造函数创建具体子类的正确方法是什么?构建器可以与最终字段一起使用吗?我想尽可能避免编写代码并依赖 Lombok 注释(尽管我知道这可能是不可能的)。