java中方法的重载是什么意思?

Python018

java中方法的重载是什么意思?,第1张

覆盖是override方法重写重载是overload

按照教科书上的定义,重载就是具有相同函数名,返回类型可以不同参数个数、顺序、类型不同的函数。我的理解是重载是发生在两个或者是更多的函数具有相同的名字的情况下。

重写就是覆盖父类的方法,和父类有相同返回类型,参数,甚至是抛出的异常,重写方法不能为private,运用中最典型的就是对接口方法的覆盖。方法的重写Overriding和重载Overloading是Java多态性的不同表现.

重写Overriding是父类和子类之间多态性的一种表现如果在子类中定义某方法和其父类有相同的名称和参数,我们说该方法被重写(Overriding).子类的对象使用这个方法时,将调用子类中的定义,对他而言,父类中的定义如同被"屏蔽"了.

重载Overloading是个类中多态性的一种表现;如果在一个类中定义了多个同名的方法,他们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading).重载的方法是能改动返回值的类型.

现实例子:你对比上面看,比如一老爹是木工。儿子继承老爹也是木工。

老爹有个做柜子的独特技术(方法),只需要用到工具锤子和木头(参数),

儿子根据老爹这个做柜子的技术延伸出很多种技术,他懒得再起名就也对外宣称叫做柜子独特技术。

1个继承自老爹,相同的方法名,相同的工具,但有自己的想法,工序有改动。儿子做木工活用到这个技术方法的话就叫重写。

另外的自创,但也叫做柜子独特技术,但用工具不同有:

木头。(儿子牛,不用锤子照样做柜子。。。)

锯子,木头。(也是木头柜子)

锤子,铁皮。(铁皮柜子)

以上3中为重载。

明白?不明白给我发消息。呵呵~

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。

以java为例,我们编写一个方法重载的例子。

参数列表的不同体现在以下两点:

1、参数的类型不同

2、参数的个数不同

具体例子如下:

/iknow-pic.cdn.bcebos.com/54fbb2fb43166d22e1985e864a2309f79052d231"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/54fbb2fb43166d22e1985e864a2309f79052d231?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/54fbb2fb43166d22e1985e864a2309f79052d231"/>

在java中完成方法重载需要的具体规范如下:

1、方法名一定要相同。

2、方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。

如果参数个数不同,就不管它的参数类型了;如果参数个数相同,那么参数的类型必须不同。

3、方法的返回类型、修饰符可以相同,也可不同。