提示:本文章用途只为学习,部分代码来源于网络,如有侵权,请联系私信博主删除
提示:以下是本篇文章正文内容,下面案例可供参考
一、方法的重写
- 方法的重写:子类继承父类以后,可以对父类中同名同参的方法,进行覆盖操作。
1.重写,子类继承父类以后,可以对父类中同名参数的方法,进行覆盖操作
2.应用:重写以后,对创建子类对象以后,通过子类对象调用父类中的同名参数时,实际执行的时子类重写父类的方法
3.重写的规定:
-
方法的声明,权限修饰符 返回值类型 方法名(形参列表)throws 异常的类型{
-
方法体
-
约定俗称:子类中的叫重写的方法,父类中的叫被重写的方法
-
① 子类重写的方法的方法名和形参列表和父类被重写的方法的方法名和形参列表相同
-
② 子类重写的方法的权限修饰符不小于父类被重新写的权限修饰符
-
特殊情况:子类不嫩给重写父类中声明为private的方法
-
③ 返回值类型:
-
如果父类中被重写的方法返回值类型是void,那么子类的方法的返回值类型只能是void
-
父类被重写的方法的返回值类型是A类型,则子类重写的方法的返回值类型是A类或者A的子类
-
父类被重写的方法的返回值类型是基本数据类型,则子类重写的方法的返回值类型必须是相同的基本数据类型
-
}
-
④ 子类重写的方法抛出的异常类型不大于父类被重写的方法抛出的异常类型
面试题:区分方法的重载与重写
super关键字的使用
1.super可以理解为:父类的
2.super可以用来调用:属性,方法,构造器
3.super的使用:
3.1我们可以在子类或者构造器中,通过使用”super.属性“或者”super.方法“的方式,显式的调用父类中声明的属性或方法,但是,通常情况下,我们习惯省略”super“
3.2特殊情况,当父类和子类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显式的使用”super.属性“的方式,则表明调用的是父类中声明的属性。
3.3(方法)特殊情况:当子类重写了父类中调用的方法以后,我们想在子类的方法中调用父类中被重写的方法时,必须显式的使用super.方法的方式,则表用调用的时父类中声明的方法
3.4(构造器)我们可以在子类的构造器中显式的使用”super(形参列表)“的方式,调用父类中声明的指定构造器
”super(形参列表)“的使用,必须声明在子类构造器的首行