eclipse转到实际实现

时间:2015-09-15 19:26:20

标签: java eclipse

我有以下类结构。我想知道如何在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();

    }

}

2 个答案:

答案 0 :(得分:1)

Eclipse不知道实现类是B,所以它不能直接带你到B。

但是,您可以单击printVar并按Ctrl-G搜索可能作为实际实现的所有方法。

答案 1 :(得分:1)

选择方法调用后,您可以按F3功能键。此操作将带您进入方法的定义。该定义可以在界面中。 当您在该文件中时,您可能想要按Ctrl + T.这将显示一个类型层次结构,显示实现您正在寻找的方法的类。 希望这会有所帮助。