JAVA:方法重写和方法重载的区别

                                             重载                  

定义同一类中两个或者多个方法的重写

规则:                         

方法名                 相同

参数列表             不同 (个数,类型,参数顺序)

返回类型              可以相同也可以不同

方法的返回类型不同不足以成为方法的重载

重载是发生在编译时的,因为编译器可以 根据参数的类型来选择使用那个方法

                    

   

 

 

 

 

                                               重写

定义:有继承关系在子类中发生

规则:

方法名                                        相同
参数列表                                     相同
返回值类型                                 可以相同也可以是原类型的子类型
访问性                                         重写方法不能比原方法访问性差
异常                                            重写方法不能比原方法抛出异常多
final类型                                     被final修饰的不能重写
private                                        被private修饰的不能重写

 static                                         被static修饰的不能重写

重写发生在运行时,因为编译期编译器不知道并且没办法确定该去调用哪个方法,JVM会在代码运行的时候做出决定

重载和重写的不同:

 重载重写
使用条件同一类继承关系,子类中
参数列表不同相同
返回类型可同可不同相同
访问权限无要求有特殊要求,见规则
次数限制重载多次父类方法只能被子类重写一次 
作用时间编译期运行期

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值