JAVA 里面的,方法的覆盖和,方法的重载有什么区别,该怎么区分?

如题所述

方法的覆盖是指父类中有的方法,在子类中重新定义了,方法签名一样(方法名,参数个数和参数类型都一样)
方法的重载是指方法名一样,参数个数,参数类型或者方法的返回值不一样,这几个方法之间的关系就构成了方法的重载追问

那这样的话覆盖的意义在哪里??

追答

假如父类是一个抽象的方法,没有方法体,而在子类中把这个抽象的方法具体化
例如定义一个类 图形(Shape),里面有个抽象方法area求面积,图形不一样,求面积的方法也不一样,我们再定义一个类圆(Circle),它里面的方法area()就是对Shape类的方法area()的覆盖,Circle中的方法area()和方法area(int r)就构成了方法的重载
class Shape{
public Shape(){}
public double area(){
return null;
};
}
class Circle extends Shape{
private int r;//圆半径
public Circle(){}
public double area(){
return PI*r*r;
}
public double area(int r){
return PI*r*r;
}
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-06
重载一般在同一个类中发生,方法名字相同但参数类型与个数不同,返回类型与修饰符也可以不同。方法重写发生在父类与子类之间,两个类存在继承关系,方法重写时方法的定义(修饰符,返回类型,参数列表)必须相同,只是方法体(方法实现)不同。

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

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

java中方法覆盖和方法重载的区别
1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行...

重载与覆盖有什么区别?
1、覆盖是子类和父类之间的关系,是垂直关系;2重载是同一个类中方法之间的累加,是水平关系。三、方法的数量不同 1、覆盖只能由一个方法,或只能由一对方法产生关系;2、重载是多个方法之间的关系。四、参数不同 1、覆盖要求参数列表相同。2、重载要求参数列表不同。

简述重载与覆盖的区别 java
重载是让同一方法名的方法可以处理和返回不同类型的数据 而覆盖是在子类中改写父类的方法

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

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

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

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

java中方法的重载的什么意思,最好举个例子
重写就是覆盖父类的方法,和父类有相同返回类型,参数,甚至是抛出的异常,重写方法不能为private,运用中最典型的就是对接口方法的覆盖。方法的重写Overriding和重载Overloading是Java多态性的不同表现.重写Overriding是父类和子类之间多态性的一种表现;如果在子类中定义某方法和其父类有相同的名称和参数...

相似回答