Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java eclipse进入实际实现_Java_Eclipse - Fatal编程技术网

Java eclipse进入实际实现

Java eclipse进入实际实现,java,eclipse,Java,Eclipse,我的班级结构如下。我想知道如何在eclipse中跳转到th gethod printVar()的实际实现 如果我将鼠标悬停(按住STRG键)在main中的2个方法调用上,然后单击openimplementation,则会显示这两个类。有没有一种方法可以直接跳转到类B中的实现来调用此方法w.getWrapperVar().printVar() Eclipse不知道实现类是B,所以它不能直接将您带到B 但是,您可以单击printVar并按Ctrl-G搜索可能是实际实现的所有方法。选择方法调用后,可以

我的班级结构如下。我想知道如何在eclipse中跳转到th gethod printVar()的实际实现

如果我将鼠标悬停(按住STRG键)在main中的2个方法调用上,然后单击openimplementation,则会显示这两个类。有没有一种方法可以直接跳转到类B中的实现来调用此方法w.getWrapperVar().printVar()


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


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

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

getWrapperVar
返回一个
A
,因此Eclipse没有理由相信
A
的实现或者它的任何子类之一就是您正在寻找的。
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();

    }

}