龙目岛构造函数和对最终字段的继承

时间:2019-06-25 11:08:32

标签: java constructor lombok intellij-lombok-plugin

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

0 个答案:

没有答案