在java中什么是方法的 覆盖 和 重载

如题所述

java中的方法重载发生在同一个类里面两个或者多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。
覆盖者可能不会限制它所覆盖的方法的访问。
重载(Overloading)
(1)方法重载是让类以统一的方法处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数(类型)。重载Override是一个类中多态性的一种表现。
(2)java的方法重载,就是在类中可以创建多个方法,他们具有相同的名字,但具有不同参数和不同的定义。调用方法时通过传递给他们不同的参数个数和参数类型来决定具体使用那个方法,这就是多态性。
(3)重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不同。无法以返回类型来作为重载函数的区分标准。
重写(Overriding)
(1)父类与子类的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写。在java中,子类可继承父类的方法,则不需要重新编写相同的方法。但有时子类并不想原封不动继承父类的方法,而是想做一定的修改,这就采用方法重写。方法重写又称方法覆盖。
(2)若子类中的方法与父类的中的某一方法具有相同的方法名、返回类型和参数表,则新方法覆盖原有的方法。如需要父类的原有方法,可以使用super关键字,该关键字引用房钱类的父类。
(3)子类函数访问权限大于父类。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-10-16
重载:函数或者方法有同样的名称,但是参数列表不相同
覆盖:也称重写,函数的签名完全相同,但函数体不同本回答被提问者采纳

Java中方法的重载和覆盖怎么区分?
重载(overload):发生在一个类的内部,而且是针对方法而不是域而言。若方法的签名相同,但参数的个数或者参数的类型不同,则构成了重载。但返回类型不在考虑范围之内,也就是说,如果仅仅是返回类型不同,则构不成重载。 覆盖(override):发生在父类和子类之间,而且是针对实例方法(即非静态方法)...

java中,到底overwrite和override有什么区别?
overload是方法的重载 Overwrite是方法的重写一,方法的覆盖(Override)是指子类重写从父类继承来的一个同名方法(参数、返回值也同),马克-to-win:此时子类将清除父类方法的影响,实现自身的行为。实在想用原来的,可以用super。二 ,顺便说,overload指同名方法,通过不同的参数样式共存,有时用这个...

Java中覆盖和重载的区别
override 可以翻译为覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而在实现时,就需要实现接口声明的所有方法。除了这个典型的用法以外,在继承中也可能会在子类覆盖父类中的方法。在覆盖要注意以下...

java中方法的重载的什么意思,最好举个例子
覆盖是override方法重写 重载是overload 按照教科书上的定义,重载就是具有相同函数名,返回类型可以不同,参数个数、顺序、类型不同的函数。我的理解是重载是发生在两个或者是更多的函数具有相同的名字的情况下。重写就是覆盖父类的方法,和父类有相同返回类型,参数,甚至是抛出的异常,重写方法不能为p...

java里的重写,重载,覆盖的区别?
重写即覆盖,重载与覆盖的区别是:1)方法覆盖要求参数签名必须一致,而方法重载要求参数签名必须不一致;2)方法覆盖要求返回类型必须一致,而方法重载对此不作要求 3)方法覆盖只能用于子类覆盖父类的方法,而方法重载用于同一个类中所有的方法(包括从父类中继承过来的方法)4)方法覆盖对方法的访问权限...

重载和覆盖有什么不一样吗?
覆盖意思是指遮盖、掩盖,也指空中某点发出的电波笼罩下方一定范围的地面。重载,简单说就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。二、关系不同 1、覆盖是子类和父类之间的关系,是垂直关系;2重载是同一个类中方法...

java Overriding覆盖==重写==覆写?这有三个说法?重载就一个说法?
重写呢,就是把父类中的方法给覆盖掉,换句话说,父类中有的方法在子类中可以重新实现,变成自己的方法,主要针对的是继承关系;而重载呢就是在同一个类中有多个方法名相同而参数不同的方法,至于方法名相同,参数也相同,而返回值不同则是不能判方法重载的,重载主要针对的是同一个类中的方法!

Java语言中,说明覆盖、种载和多态之间的区别?
覆盖和重载的意思是一样的子类继承了父类后有不同的实现方式所以就重载了父类的方法这样也就覆盖了父类的方法多态:如类A继承了类B 并实现了接口C和接口D这样A是B类型、C类型、D类型这样多态

java多态中的重载于覆盖有什么不同
比如父类是public,子类只能是public,但是如果父类是private,子类可以是private,protected,public,最后要注意的是父类(对于子类)可访问的东东等于是子类的(相当于同一个类中),如果在覆盖时,(子类父类中有同名方法)如果子类的同名方法的参数与父类不同,覆盖就变成重载了.....

重写重载,重构,加载,覆盖的区别
。就像楼上说的那样,是针对代码,写得不好自然要重新来写,而对于初学者来说理解方法重载和方法覆盖是一个很重要的课题。这之前需要楼主先明白什么是方法,方法其实就是函数(java中的称呼不一样而已),顾名思义就是完成一个动作或者功能的代码体(用{}包起来),一个方法必须具备返回类型\/方法名\/...

相似回答