我完全困惑在以下情况下应如何使用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注释(尽管我知道这样做是不可能的)。