Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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_Overriding - Fatal编程技术网

Java 如何在Eclipse中找到正确的重写方法

Java 如何在Eclipse中找到正确的重写方法,java,eclipse,overriding,Java,Eclipse,Overriding,我有一个接口I1,它定义了一个方法M1。另外两类C1和C2正在实施I1和超车M1 在另一个类C3中,我引用了M1。现在我如何理解M1指的是C1\u M1还是C2\u M1 p.S我可以在调试代码时找到它。但是我正在寻找一些没有执行它的快捷方式。这是运行时多态性,所以您只能在运行时理解它 如果您知道程序的输入是什么,那么您就可以理解是哪个类实例引用 interface A{ } class B implements A{ } class C implements A{ } class

我有一个接口
I1
,它定义了一个方法
M1
。另外两类
C1
C2
正在实施
I1
和超车
M1

在另一个类
C3
中,我引用了
M1
。现在我如何理解
M1
指的是
C1\u M1
还是
C2\u M1


p.S
我可以在调试代码时找到它。但是我正在寻找一些没有执行它的快捷方式。

这是运行时多态性,所以您只能在运行时理解它

如果您知道程序的输入是什么,那么您就可以理解是哪个类实例引用

interface A{

}

class B implements A{

}

class C implements A{

}

class Main{

  public static void main(String args[]){

    // input
    Object o = new B();  // just assume your logic give you object B. 

    if(o instanceof B){
       B b = (B) o;
     // invoke methods 
    }else if(o instanceof C){
      C c = (C) o;
     // invoke methods
    }
  }

}
在上面的代码中,您能够理解类
B
方法将被调用


总之,您必须理解代码,识别输入,然后才能理解在运行时调用哪个类。否则,调试是最佳实践。

这是运行时多态性,因此您只能在运行时理解它

如果您知道程序的输入是什么,那么您就可以理解是哪个类实例引用

interface A{

}

class B implements A{

}

class C implements A{

}

class Main{

  public static void main(String args[]){

    // input
    Object o = new B();  // just assume your logic give you object B. 

    if(o instanceof B){
       B b = (B) o;
     // invoke methods 
    }else if(o instanceof C){
      C c = (C) o;
     // invoke methods
    }
  }

}
在上面的代码中,您能够理解类
B
方法将被调用


总之,您必须理解代码,识别输入,然后才能理解在运行时调用哪个类。否则,调试是最佳实践。

这是运行时多态性,因此您只能在运行时理解它

如果您知道程序的输入是什么,那么您就可以理解是哪个类实例引用

interface A{

}

class B implements A{

}

class C implements A{

}

class Main{

  public static void main(String args[]){

    // input
    Object o = new B();  // just assume your logic give you object B. 

    if(o instanceof B){
       B b = (B) o;
     // invoke methods 
    }else if(o instanceof C){
      C c = (C) o;
     // invoke methods
    }
  }

}
在上面的代码中,您能够理解类
B
方法将被调用


总之,您必须理解代码,识别输入,然后才能理解在运行时调用哪个类。否则,调试是最佳实践。

这是运行时多态性,因此您只能在运行时理解它

如果您知道程序的输入是什么,那么您就可以理解是哪个类实例引用

interface A{

}

class B implements A{

}

class C implements A{

}

class Main{

  public static void main(String args[]){

    // input
    Object o = new B();  // just assume your logic give you object B. 

    if(o instanceof B){
       B b = (B) o;
     // invoke methods 
    }else if(o instanceof C){
      C c = (C) o;
     // invoke methods
    }
  }

}
在上面的代码中,您能够理解类
B
方法将被调用


总之,您必须理解代码,识别输入,然后才能理解在运行时调用哪个类。否则,调试是最佳实践。

如果您以这种方式创建对象

I1 i=new c1();
然后
i.m1()
将调用
c1类的m1方法

如果

然后
i.m1()
将调用
类c2的m1方法


如果您不知道对象是如何创建的,并且您只有引用,那么很抱歉,如果您以这种方式创建对象,您只能在运行时按原样找到它

I1 i=new c1();
然后
i.m1()
将调用
c1类的m1方法

如果

然后
i.m1()
将调用
类c2的m1方法


如果您不知道对象是如何创建的,并且您只有引用,那么很抱歉,如果您以这种方式创建对象,您只能在运行时按原样找到它

I1 i=new c1();
然后
i.m1()
将调用
c1类的m1方法

如果

然后
i.m1()
将调用
类c2的m1方法


如果您不知道对象是如何创建的,并且您只有引用,那么很抱歉,如果您以这种方式创建对象,您只能在运行时按原样找到它

I1 i=new c1();
然后
i.m1()
将调用
c1类的m1方法

如果

然后
i.m1()
将调用
类c2的m1方法


如果您不知道对象是如何创建的,并且您只有引用,那么很抱歉,您只能在运行时找到它,因为它是

谁将对象放在那里?@LuísSoares我只看到引用,谁将对象放在那里?@LuísSoares我只看到引用,谁将对象放在那里?@LuísSoares我只看到引用谁把这个物体放在那里?@LuísSoares我只看到那里的参照物你是说
bb=(B)o而不是
o=new B()(和
C
)相同?@James Ohhh,是的,James我已经编辑了我的代码,谢谢你指出我的错误。你是说
bb=(B)o而不是
o=new B()(和
C
)相同?@James Ohhh,是的,James我已经编辑了我的代码,谢谢你指出我的错误。你是说
bb=(B)o而不是
o=new B()(和
C
)相同?@James Ohhh,是的,James我已经编辑了我的代码,谢谢你指出我的错误。你是说
bb=(B)o而不是
o=new B()(与
C
)相同?@James Ohhh,是的,James我已经编辑了我的代码,谢谢你指出我的错误。