我有以下类结构。我想知道如何在eclipse中跳转到gethod printVar()的实际实现。
如果我悬停(按住STRG)在main中的2个方法调用并单击打开实现,我将显示两个类。有没有办法直接跳转到B类的实现,这个方法调用w.getWrapperVar()。printVar()
public class A {
private String var;
public A(String a){
this.var=a;
}
public void printVar(){
System.out.println("class A print: " + this.var);
}
}
public class B extends A{
private String var;
public B(String a){
super(a);
this.var=a;
}
@Override
public void printVar(){
System.out.println("class B print: " + this.var);
}
}
public class Wrapper {
private B wrapperVar;
private A wrapperVar2;
public Wrapper(String var){
this.wrapperVar = new B(var);
this.wrapperVar2 = new A(var);
}
// explicit Return Class A
public A getWrapperVar(){
return this.wrapperVar;
}
public A getWrapperVar2(){
return this.wrapperVar2;
}
}
public class main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Wrapper w = new Wrapper("value");
w.getWrapperVar().printVar();
w.getWrapperVar2().printVar();
}
}
答案 0 :(得分:1)
Eclipse不知道实现类是B,所以它不能直接带你到B。
但是,您可以单击printVar
并按Ctrl-G搜索可能作为实际实现的所有方法。
答案 1 :(得分:1)
选择方法调用后,您可以按F3功能键。此操作将带您进入方法的定义。该定义可以在界面中。 当您在该文件中时,您可能想要按Ctrl + T.这将显示一个类型层次结构,显示实现您正在寻找的方法的类。 希望这会有所帮助。