我遇到了这种情况.我们有一个类让我们说主要有私人方法打印.另一个类Main1扩展了Main类并重新定义了print方法.由于main1是Main1类的对象,我希望调用main1 print方法...
public class Main {
public static void main(String[] args) {
Main main1 = new Main1();
List<String> list = new ArrayList<String>();
main1.print(list);
}
private void print(List<String> string) {
System.out.println("main");
}
}
class Main1 extends Main {
public void print(List<String> string) {
System.out.println("main1");
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,当我们运行程序时,它会打印"main".它真的让我感到困惑,因为该方法是私有的,甚至不是Main1类的一部分.
Joa*_*uer 13
答案并不太难:
main1
变量Main
(不 Main1
)print
接受List<String>
on的方法Main
是私有方法Main
因此它可以调用该类中的私有方法因此Main.print(List<String>)
将被称为.
请注意,更改main1
to 的类型Main1
将导致调用另一个 print(List<String>)
方法.
归档时间: |
|
查看次数: |
217 次 |
最近记录: |