方法重载和方法重写

方法重载(overload)

方法名相同,但参数不同(类型不同,个数不同)。

只有返回值不同不构成方法重载。

只有形参的名称不同,不构成方法重载。

方法重写(override)

在子类中如果创建了一个与父类中相同名称、相同返回值类型、相同参数列表的方法,只是方法体中的实现不同,以实现不同于父类的功能,这种方式被称为方法重写(override),又称为方法覆盖。当父类中的方法无法满足子类需求或子类具有特有功能的时候,需要方法重写。

重写【add==>add(只能改变方法体逻辑)】发生在继承(父类)和实现(接口)中…发生在二个以上的类中

重载【add==>add(一定改变参数(类型,个数),也可以改变方法体)】…发生在一个类中

方法重写与方法重载的区别

方法重写

概念:子类继承父类中的方法,想在原有的基础上作一定的修改。

格式特点:

1.方法名、参数列表必须完全一致

2.返回类型可以相同,也可以不同,不同必须是原来返回类型的子类型

2.子类抛出的异常下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)

3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)

方法重载

概念:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。

格式特点:

1.方法名相同。

2.方法的参数表必须不同

如果参数个数不同,就不考虑它的参数类型

如果参数个数相同,那么参数的类型必须不同。

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

子类从父类继承分成两种:

1.方法的继承:

方法的继承,父类直接把自己的方法转移到子类中去,当然前提是父类的方法修饰符的访问范围是子类可以访问的范围,但是如果子类已经重写了父类的方法,这时候这个方法就不能重父类转移到子类中。

2.成员变量的继承 :

成员变量就会有点奇妙了,它不会从父类转移到子类,而是保留在父类中,这就会出现,子类和父类可能同时拥有两个相同名字的变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值