Java Lombok项目是否可以返回对象的接口?
Java只是一个很棒的东西。它提供了摆脱大量生成的getter/setter并使用简单、可理解的注释的可能性 但对于我的自动化项目,我应该返回一些元素的接口。lombok是否可以返回对象的接口 例如,我有:Java Lombok项目是否可以返回对象的接口?,java,annotations,getter,lombok,Java,Annotations,Getter,Lombok,Java只是一个很棒的东西。它提供了摆脱大量生成的getter/setter并使用简单、可理解的注释的可能性 但对于我的自动化项目,我应该返回一些元素的接口。lombok是否可以返回对象的接口 例如,我有: private ButtonElement button = new ButtonElement(....); public IElement getButton() { return button; } 我想要一些类似于: @Getter // with with IE
private ButtonElement button = new ButtonElement(....);
public IElement getButton() {
return button;
}
我想要一些类似于:
@Getter // with with IElement return type?
private ButtonElement button = new ButtonElement(....);
如果将字段类型定义为接口,它当然会返回接口,否则,我认为没有办法 我只需将您的代码更改为
@Getter
private IElement button = new ButtonElement(....);
是的,但它很笨拙:
@Getter
private IElement button = new ButtonElement(....);
但这当然会使访问ButtonElement
的某些方法变得更加困难。因此,您可能需要使用以下任一选项:
private _button = new ButtonElement(....);
@Getter
private IElement button = _button;
i、 e.您需要两个字段,一个是接口字段,另一个是实类型字段
或
i、 您现在有了一个内部getter,它可以强制转换并返回实际类型
请注意,Java允许您定义一个扩展类型的方法。因此,如果你有一个界面
,上面写着:
IElement getButton();
您可以使用
public ButtonElement getButton() {...}
这不仅会起作用,而且如果Java知道您正在调用哪个getButton()
,它会很高兴地给您一个ButtonElement
public ButtonElement getButton() {...}