为什么 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
因为驱动程序是 protected
和 Data
所有生成的 getter 和 setter 都将是 public(根据文档)。
它正在尝试访问更高级别的权限。
尝试:
import lombok.AccessLevel;
@Getter(AccessLevel.PROTECTED) protected Driver driver;
鉴于我有以下 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
因为驱动程序是 protected
和 Data
所有生成的 getter 和 setter 都将是 public(根据文档)。
它正在尝试访问更高级别的权限。
尝试:
import lombok.AccessLevel;
@Getter(AccessLevel.PROTECTED) protected Driver driver;