我继承了一个使用现有jar调用的项目。前程序员有幸获得了jar的源代码。然而,建筑相当复杂。我使用抽象类,比如Size。在源代码中,我找到了该类的实现,比如SizeProxy。它有一个SizeImplementation类的对象,对Size.getInfo()的任何调用都将实现为对this.theSize.getInfo()的调用。
简而言之,我已经设法找到实际执行任何有趣操作的getInfo的实际实现。我希望能够从"我的"代码o_size.getInfo()并直接转到"实现"在SizeImplementation.getInfo中。现在我不能让Eclipse这样做,可能是因为课程名称不匹配。请帮忙!
答案 0 :(得分:0)
这通常是不可能的,因为接口可以有多个实现,并且抽象类(或任何类)可以由许多类扩展。举个例子
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的。
这就是为什么你必须通过接口或抽象类然后从那里选择你的实现