带接口的函数作为参数

时间:2012-12-04 09:20:44

标签: java eclipse openlayers vaadin

我有一个名为Layer的接口:

public interface Layer {}

和一个实现该接口的类VectorLayer

public class VectorLayer implements Layer {}

我还有一个以Layer为参数的函数

public void create(Layer layer){}

我想使用create(new VectorLayer())但是eclipse向我发出以下错误:

  

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

我认为通常它应该有效。那么这里的问题是什么?

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

2 个答案:

答案 0 :(得分:3)

你给出的例子应该可以正常工作。

您确定Layer实施的VectorLayerSelectFeature所需的{{1}}相同吗?您可以通过检查两个类中的导入(或提供完全限定名称,即包名称)来验证这一点。

答案 1 :(得分:1)

我会尝试帮助编译器:

final Layer layer = new VectorLayer();
SelectFeature.create(layer);