0

我在 Java 中声明了以下接口:

public interface ITest {
    void doStuff();
}

这是由另外几个覆盖 doStuff() 方法的类实现的。然后我将此接口用作函数中的类型:

public gonnaDoSomeStuff(ITest fun) {
    fun.doStuff();
}

但是,Java(和 Eclipse)声明该方法对于 ITest 类型是未定义的。我究竟做错了什么?

4

2 回答 2

0

事实证明,包含我的 goingDoSomeStuff 方法的类附加了一个泛型,它被引用而不是实际的接口。

错误的

public class Dog<ITest> {
    public gonnaDoSomeStuff(ITest fun) {
        // ...
    }
}

public class Dog {
    public gonnaDoSomeStuff(ITest fun) {
        // ...
    }
}
于 2012-09-21T19:21:39.963 回答
-3

您不能访问公共类中的默认声明方法,因为它的范围是有限的。您应该将其声明为 public 以便在公共类中调用。

于 2012-09-18T17:47:27.447 回答