java 重载和多态的区别

如题所述

在JAVA中,多态性主要表现在如下两个方面:
(1)方法重载.通常指在同一个类中,相同的方法名对应着不同的方法实现,但是方法的参数不同.
(2)成员覆盖.通常指在不同类(父类和子类)中,允许有相同的变量名,但是数据类型不同;也允许有相同的方法名,但是对应的方法实现不同.
在重载的情况下,同一类中具有相同的名字的方法.如何选择它的方法体呢?不能使用类名来区分,通常采用不同的方法形参表,区分重载要求形参在类型,个数和顺序的不同,在定义重载方法时,应在方法的形参的类型,个数和顺序有所不同,以便在选择时能够区别开来.
在覆盖的情况下,同名的方法存在于不同的类中,在调用方法只要指明其方法所归属的类名就可以了.
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-05-09
多态是建立在重写的基础之上的,是类与类之间的关系,是发生在不同的类之间的,子类重写父类的方法。实现不同的子类,不同的实现形态。
多态有3个条件
1:继承
2:重写(重写父类继承的方法)
3:父类引用指向子类对象
而重载是类的内部的方法构型上的不同,是发生在同一个类里面的。同一个函数名称,参数不同的多个方法,实现同一类型的功能。本回答被网友采纳

多态和重载的区别
多态和重载的区别主要有:1、多态是建立在重写的基础之上的,是类与类之间的关系,而重载必须在同一个类中。2、多态是动态的,属于动态联编,发生在运行阶段。重载可认为是静态的多态,属于静态联编,发生在编译阶段。在Java中,接口的多种不同的实现方式即为多态。Java语言作为静态面向对象编程语言的代...

java中的重载与多态
重载和多态是两个概念。重载:是说方法的重载。要求是 1:相同的方法名。2:参数列表不同(也就是参数的类型不同 或者是 参数的个数不同 再或者是 参数出现的次序不同)3:返回值可以不同,但是最好是相同的。多态:只有在发生继承的时候才会出现多态。多态又分为 类的多态 和 方法的多态(就是...

JAVA中的多态与重载有什么区别?
多态是建立在重写的基础之上的,是类与类之间的关系,是发生在不同的类之间的,子类重写父类的方法。实现不同的子类,不同的实现形态。多态有3个条件 1:继承 2:重写(重写父类继承的方法)3:父类引用指向子类对象 而重载是类的内部的方法构型上的不同,是发生在同一个类里面的。同一个函数名称,...

JAVA重载与多态的的区别是什么?
重载 函数名相同 参数个数不同。多态,多个子类用不同的代码覆盖同样父类的同一个方法。当多种子类的实例赋给父类引用时,当调用多个这个父类引用的方法时,看名字是同一个方法,执行的代码确实多种多样的这就叫多态。其实要理解OO的概念实质,最好的方式是学C++。

java 重载和多态的区别
在JAVA中,多态性主要表现在如下两个方面:(1)方法重载.通常指在同一个类中,相同的方法名对应着不同的方法实现,但是方法的参数不同.(2)成员覆盖.通常指在不同类(父类和子类)中,允许有相同的变量名,但是数据类型不同;也允许有相同的方法名,但是对应的方法实现不同.在重载的情况下,同一类中具有...

java中多态和重载是什么关系啊,哪位大虾能帮帮小弟啊
重载(Overload):函数名相同,但函数的参数类型、参数个数、参数顺序不同 覆盖(Override):父类定义了一个方法,子类又重新定义了一个一模一样的方法,但里边的代码体可以不一样。import java.io.*;\/\/一个使用多态的例子 class Instrument{ public void play(){ System.out.println("Instrument.play(...

java中重载,继承,重写和多态的区别
(1)方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数\/类型。重载Overloading是一个类中多态性的一种表现。(2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具 有不同的参数和不同的定义。调用方法时通过传递给它们的不...

JAVA 中多态和重载的区别?
多态指一个类里有多个函数,函数名相同,而参数的形式有多种。重载指子类从父类继承后,覆盖了父类原有的函数。

什么是多态?它和重载有什么区别?
多态和重载的主要区别在于使用场景。多态更多地涉及到类之间的继承和接口实现,而重载则更多地用于同一个类中定义相同名字的方法时。两者都能提高代码的可读性和可维护性,但选择使用时应根据具体场景决定。总结以上,多态与重载是编程语言中重要的概念,它们在提高代码的灵活性和可维护性方面发挥了重要作用...

java分享 一,论证重载是不是多态
重载,是指允许存在多个同名方法,而这些方法的参数不同。重载的实现是:编译器根据方法不同的参数表,对同名方法的名称做修饰。对于编译器而言,这些同名方法就成了不同的方法。它们的调用地址在编译期 就绑定了。多态:是指子类重新定义父类的虚方法(virtual,abstract)。当子类重新定义了父类的虚方法...

相似回答