码迷,mamicode.com
首页 > 编程语言 > 详细

Java:Java的重写与重载区分

时间:2020-01-07 18:00:42      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:tps   java的重写   protect   个数   权限   一个   返回   顺序   不同的   

最明显的区别为:重写只存在于子类与父类中重载存在于一个类中

 

具体区别如下:

一、重写(override)

override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法

重写(覆盖)的规则:

1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载.

2、重写方法的访问修饰符一定要大于被重写方法的访问修饰符(public>protected>default>private)。

3、重写的方法的返回值必须和被重写的方法的返回一致

4、重写的方法所抛出的异常必须和被重写方法的所抛出的异常一致,或者是其子类

5、被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没s有对其进行重写。

6、静态方法不能被重写为非静态的方法(会编译出错)。

二、重载(overload

重载是定义本类不同参数的构造方法,一般是用于在一个类内实现若干重载的方法,这些方法的名称相同而参数形式不同

重载的规则:

1、在使用重载时只能通过相同的方法名、不同的参数形式实现。可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不一样);

2、不能通过访问权限、返回类型、抛出的异常进行重载

3、方法的异常类型和数目不会对重载造成影响

 

文章转载至:https://www.jianshu.com/p/c69aa573b93f

 

 
 
 
 
 

Java:Java的重写与重载区分

标签:tps   java的重写   protect   个数   权限   一个   返回   顺序   不同的   

原文地址:https://www.cnblogs.com/nhdlb/p/12162886.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!