Java:Java的重写与重载区分

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

具体区别如下:

一、重写(override)

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

重写(覆盖)的规则:

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

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

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

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

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

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

二、重载(overload

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

重载的规则:

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

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

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

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

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

时间: 2024-11-09 03:16:22

Java:Java的重写与重载区分的相关文章

java中的重写和重载

重写 在java中有很多的继承,继承下来的有变量.方法.在有一些子类要实现的方法中,方法名.传的参数.返回值跟父类中的方法一样,但具体实现又跟父类的不一样,这时候我们就需要重写父类的方法,就比如我们有一个类叫做Animals,Animals类中有一个叫做Call,然后我们继承Animals又生成了Cat类和Dog类,Cat和Dog也分别有自己特别的叫声,程序如下: 1 class Animals { 2 public void call() { 3 System.out.println("啊啊啊

Java 继承与重写、重载

1.类的继承 1)继承 父类:所有子类所共有的属性和行为 子类:子类所特有的属性和行为 通过extends关键字来实现类的继承 子类(Sub class)可以继承父类(Super class)的成员变量及成员方法,同时也可以定义自己的成员变量和成员方法 Java语言不支持多重继承,一个类只能继承一个父类(单一继承),但一个父类可以有多个子类 继承具有传递性,子类的子类可以继承父类的父类的成员变量及成员方法 2)继承中构造方法(super关键字) Java规定:构造子类之前必须先构造父类 子类的构

java方法的重写与重载

方法重写规则: 参数列表和返回值类型必须与被重写的方法相同 访问权限不能比父类中被重写的方法的访问权限更低.例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected 父类的成员方法只能被它的子类重写 声明为final的方法不能被重写 静态方法也能被继承. 但是, 静态方法不能被覆盖. 如果父类中 定义的静态方法在子类中被重新定义, 那么在父类中定义的静态方法将被隐藏. 可 以使用语法: 父类名 .静态方法名(SuperClassName. staticM

Java基础(七):重写与重载

一.重写(Override): 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类能够根据需要实现父类的方法. 重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常.例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exception 异常,因为 Exception 是 IOException 的父类,只能抛出 I

重写与重载 java

重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 重载Overloading是一个类中多态性的一种表现. (2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义. 调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性. (3) 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同.无法以返回

java重写和重载

Java 重写(Override)与重载(Overload) 重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类能够根据需要实现父类的方法. 重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常.例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exception 异常,因为 Except

Java重写与重载

一.重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类能够根据需要实现父类的方法. 重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常.例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exception 异常,因为 Exception 是 IOException 的父类,只能抛出 IO

java。抽象和封装:重写,重载

1.方法重载(overload) 方法名相同 参数类型不同(参数个数和类型) 与返回类型无关 2.方法重写(override)-->用来实现多态的,只有实例方法可以实现多态,静态方法无法实现多态 子类重写父类方法 方法名相同 返回类型相同 参数相同 重写和重载的区别?overload方法可以改变返回值类型? ==>可以改变返回值类型 a.方法的重写和重载是java多态性的不同表现. b.重写是父类与子类之间多态性的一种表现 c.重载是一个类中多态性的一种表现

JAVA基础总结二——继承、重写、重载相关知识点

1.继承: 1)目的:避免代码重复,有利于代码的重用 2)通过extends实现继承 3)父类/基类:所有子类所共有的属性和行为 子类/派生类:子类所特有的属性和行为 4)子类继承父类后,子类具有的方法: 子类方法+父类方法 5)一个父类可以有多个子类 一个子类只能有一个父类----单一继承 6)继承具有传递性 7)java规定:构造子类之前必须先构造父类 子类构造中若没有调用父类的构造,则默认super()来调父类的无参构造,若自己调了,则不再默认提供 super()调用父类构造,必须位于子类