龙目岛为什么不为继承的属性提供getter方法?

时间:2019-12-20 15:03:49

标签: java lombok

鉴于我有以下课程

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

然后是B类,如下所示:

@Data
public class B {
    protected Driver driver;
}

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

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

但它抱怨:

The method getDriver() is undefined for the type A

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

尝试在AccessLevel字段上指定driver

@Getter(AccessLevel.PROTECTED)
protected Driver driver;

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