让我们在eclipse的工作空间中定义以下类:
public abstract class A {
public void foo() {
System.out.println("Hi.. this is foo()");
}
}
public interface I {
void foo();
}
public class B extends A implements I {
public void bark() {
System.out.println("Hi.. this is bark()");
}
}
public class C {
public void woo() {
I i = new B();
i.foo();
}
}
现在的问题是eclipse在搜索
时没有显示A.foo()的任何引用我认为这是一个设计问题。你觉得怎么样?
答案 0 :(得分:0)
对我来说听起来非常合理,因为您提供的代码A
不实施I
,只有B
。事件虽然在B
代码的声明中读出extends A implements I
但并不意味着A
将追溯性地实现接口I
- 它说“B扩展A并且还实现I”。
答案 1 :(得分:0)
在Eclipse中为我工作:
A a = new A() { };
a.foo(); // <-- A.foo() found this reference by Eclipse in "References -> Project"