为什么 lombok 不为继承属性提供 getter 方法?

Why doesn't lombok provide a getter method for inherited attribute?

鉴于我有以下 class

import lombok.Data;
@Data
public class A extends B {
}

然后classB如下:

@Data
public class B {
    protected Driver driver;
}

但是,当我尝试通过以下代码获取驱动程序时:

A a = new A();
a.getDriver();

但它抱怨:

The method getDriver() is undefined for the type A

尝试在 driver 字段中指定 AccessLevel

@Getter(AccessLevel.PROTECTED)
protected Driver driver;

您可以在此处的文档中阅读有关 AccessLevel 的更多信息: https://projectlombok.org/api/lombok/AccessLevel.html

因为驱动程序是 protectedData 所有生成的 getter 和 setter 都将是 public(根据文档)。 它正在尝试访问更高级别的权限。 尝试:

 import lombok.AccessLevel;
 @Getter(AccessLevel.PROTECTED) protected Driver driver;