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_Overloading_Object Oriented Analysis - Fatal编程技术网

Java 方法重载是多态的一种类型吗?

Java 方法重载是多态的一种类型吗?,java,oop,polymorphism,overloading,object-oriented-analysis,Java,Oop,Polymorphism,Overloading,Object Oriented Analysis,我研究了静态和动态多态性,得到了以下链接: 在所有这些链接中,有人说重载是多态性的一个例子,然后我又遇到了另外两个地方,有人说重载与多态性无关,这些链接是: 头一版Java第二版第7章(继承和多态性)最后一个主题:重载方法 现在我无法确定它是否是一种多态性,如果不是,OOPs中是否存在所谓的静态多态性?有时候,方法重载确实被称为“静态多态性”的一个例子。这种说法确实有些武断,但也有可能做出有利于自己的弱防御 静态多态性的概念确实存在,并且不限于OOP。当基于编译时类型信息实现多态行为时,

我研究了静态和动态多态性,得到了以下链接:

在所有这些链接中,有人说重载是多态性的一个例子,然后我又遇到了另外两个地方,有人说重载与多态性无关,这些链接是:

头一版Java第二版第7章(继承和多态性)最后一个主题:重载方法


现在我无法确定它是否是一种多态性,如果不是,OOPs中是否存在所谓的静态多态性?

有时候,方法重载确实被称为“静态多态性”的一个例子。这种说法确实有些武断,但也有可能做出有利于自己的弱防御

静态多态性的概念确实存在,并且不限于OOP。当基于编译时类型信息实现多态行为时,多态性(以不同形式呈现相同行为的能力)可以是静态的。这种多态性最常见的例子是C++的模板:所有调用都是静态解析的,但模板的行为会根据其类型参数的静态类型而改变


重载也可以被认为是基于对象的静态类型选择行为的一种原始形式。然而,这种重载的观点无助于理解这个概念,也使新手更难理解“真实”(即动态)多态性。这就是为什么“静态多态性”一词在Java书籍中并不常见的原因。

@Oli,我已经在问题中明确指出了这一点。“多态性”只是一个词,没有一个全球一致认可的精确定义。对于你的问题,回答“是”或“否”都不会给你带来启发,因为区别在于所选择的“多态性”定义,而不是Java重载的本质。@ALBI:我知道,但你的问题本质上是重复的。如果你对现有问题的答案有异议,你应该在那里发表评论等。@MarkoTopolnik:这将是对原始(重复)问题的一个很好的回答@OliCharlesworth我已经添加了它,尽管我担心它不会有太大的区别:(似乎是首选术语.)虽然有1967年和1985年的经典论文经常被引用,但它肯定不是现代OOP的主流,特别是Java。