我继承了一个使用现有 jar 调用的项目。前程序员有幸获得了 jar 的源代码。但构造相当复杂。我使用一个抽象类,比如 Size。在源代码中,我找到了该类的实现,例如 SizeProxy。它有一个 SizeImplementation 类的对象,并且对 Size.getInfo() 的任何调用都将实现为对 this.theSize.getInfo() 的调用。
简而言之,我已经成功地找到了 getInfo 的实际实现,它确实做了一些有趣的事情。我希望能够从“我的”代码 o_size.getInfo() 直接转到 SizeImplementation.getInfo 中的“实现”。现在我无法让 Eclipse 这样做,可能是因为类名不匹配。请帮忙!
最佳答案
这通常是不可能的,因为一个接口(interface)可以有多个实现,并且一个抽象类(或任何类)可以由多个类扩展。以这个例子为例
public void doSomething(boolean option){
List<String> someList;
if (option){
list=new ArrayList<>();
}else{
list=new LinkedList<>();
}
list.add("Where do I go");
}
您是否尝试直接从 list.add("Where do I go");
转到 .add()
的实现,其中你会结束吗? ArrayList 或 LinkedList。
这就是为什么您必须通过接口(interface)或抽象类,然后从那里选择您的实现
关于java - 如何在 Eclipse 中附加类的实际实现 Java 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23672293/