gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 22:27:37 24 4
gpt4 key购买 nike

我有一个接口(interface)I1,它定义了一种方法M1。另外两个类 C1C2 正在实现 I1 并覆盖 M1

在另一个类C3中,我引用了M1。现在我如何理解 M1 是指 C1_M1 还是 C2_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 方法。

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

关于java - 如何在 Eclipse 中找到正确的重写方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28431336/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com