gpt4 book ai didi

java - 编译器无法识别 Lombok Getter 的覆盖方法

转载 作者:行者123 更新时间:2023-12-03 23:01:17 24 4
gpt4 key购买 nike

假设我们有一个接口(interface) TestInterface在外部工件中,我们无法更改:

public interface TestInterface {

Boolean isTest();
//more getter and setter methods
}

以及这个接口(interface)的一个实现,有更多的成员对应于父接口(interface)。 Lombok 生成的 getter/setter 不被编译器识别,所以我必须添加实际的 getter 方法以使以下类可编译。
@Getter
@Setter
public class TestImplementation implements TestInterface {

Boolean test;
//more members
}

编译错误是当接口(interface)的方法没有实现时你得到的标准错误:

my.package.TestImplementation 不是抽象的,并且不会覆盖 my.package.TestInterface 中的抽象方法 isTest()

假设 Lombok 的 getter 和 setter 是在编译时间之后生成的,我不明白为什么 getter 的正常调用(由 Lombok 生成)是可编译的。

最佳答案

问题似乎是对于一个字段 Boolean test , Lombok 会生成一个方法Boolean getTest() , 而不是 Boolean isTest()根据界面要求。仅当属性为 boolean test然后你会得到一个 boolean isTest()方法,但返回类型与接口(interface)不匹配。

所以似乎没有办法实现 isTest自己方法。

关于java - 编译器无法识别 Lombok Getter 的覆盖方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53209194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com