假设我们在外部工件中具有接口TestInterface
,我们将无法更改:
public interface TestInterface {
Boolean isTest();
//more getter and setter methods
}
以及此接口的实现,其中更多成员对应于父接口。 Lombok生成的getters / setter方法无法被编译器识别,因此我必须添加实际的getter方法以使以下类可编译。
@Getter
@Setter
public class TestImplementation implements TestInterface {
Boolean test;
//more members
}
编译错误是未实现接口方法时遇到的标准错误:
my.package.TestImplementation不是抽象的,并且不会覆盖my.package.TestInterface
中的抽象方法isTest()假设Lombok的getter和setter是在编译后生成的,我不明白为什么正常的getter(由Lombok生成)调用是可编译的。
答案 0 :(得分:5)
问题似乎在于,对于字段Boolean test
,Lombok将生成方法Boolean getTest()
,而不是接口要求的Boolean isTest()
。仅当属性为boolean test
时,您才能使用boolean isTest()
方法,但是返回类型与接口不匹配。
因此,似乎无法自行实现isTest
方法。