我有一个名为Layer的接口:

public interface Layer {}


和一个实现该接口的类,称为VectorLayer

public class VectorLayer implements Layer {}


我也有一个以Layer作为参数的函数

public void create(Layer layer){}


我想使用create(new VectorLayer()),但日食会向我抛出以下错误:


  SelectFeature类型的create(Layer)方法不适用
  用于参数(VectorLayer)
  VolexampleApplication.java / volExample / src / com / example / volexample


我认为通常它应该起作用。那么这是什么问题呢?

PS:
VectorLayerLayerSelectFeature.create()是VAADIN的openlayers包装器(库)中的函数和类。

最佳答案

您提供的示例应该可以正常工作。

您确定Layer实现的VectorLayer是否与SelectFeature要求的相同。您可以通过检查两个类中的导入来验证这一点(或提供全限定名称,即包名称)。

07-24 13:12