Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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中是如何工作的(将调用哪个方法??)_Java_Oop_Polymorphism - Fatal编程技术网

多态性在Java中是如何工作的(将调用哪个方法??)

多态性在Java中是如何工作的(将调用哪个方法??),java,oop,polymorphism,Java,Oop,Polymorphism,Java中的以下语句将发生什么情况: SuperclassObject o = new SubclassObject(); 然后我们跑 o.randomMethod(); 然而,randomMethod()已经在超类对象和子类对象中实现,但实现方式不同。将调用哪个方法???它将调用子类版本。为什么?因为内存中只有一个具体对象,而该对象属于子类 是的,子类可以充当超类,但在内部,它只有自己的方法实现。是否考虑过测试的可能重复?试试这个。你用不同的方式表达的是什么意思?你是指一个不同的参数列表,

Java中的以下语句将发生什么情况:

SuperclassObject o = new SubclassObject();
然后我们跑

o.randomMethod();

然而,
randomMethod()
已经在
超类对象
子类对象
中实现,但实现方式不同。将调用哪个方法???

它将调用子类版本。为什么?因为内存中只有一个具体对象,而该对象属于子类


是的,子类可以充当超类,但在内部,它只有自己的方法实现。

是否考虑过测试的可能重复?试试这个。你用不同的方式表达的
是什么意思?你是指一个不同的参数列表,改为静态函数还是其他什么?改变它几乎肯定需要以不同的方式调用函数,因此不会有任何歧义……除非所讨论的方法是静态的。