转载

乐字节Java继承-方法重写、super和final关键字

大家好,乐字节的小乐又来了,上一篇是:乐字节Java|JavaBean、继承与权限修饰,也是属于Java继承的,今天继续Java继承-方法重写、super和final关键字。

乐字节Java继承-方法重写、super和final关键字

一、 方法的重写

父类不满足子类的要求,按需改写。注意 方法签名必须相同

在子类中可以根据需要对从基类中继承来的方法进行重写。

重写方法必须和被重写方法具有相同的方法名称、参数列表和返回类型。

重写方法不能使用比被重写方法更严格的访问权限

Override.java Overload.java

“==”:方法名、形参列表相同。

“≤”:返回值类型(基本类型必须相同) 以及抛出的异常类型,子类小于等于父类。

“≥”:访问权限,子类大于等于父类

注意属性不会重写

注意以下方法不会重写

1、静态方法不会重写 ,父类为静态,子类只能为静态,否则编译错误

2、final 修饰方法 否则编译错误

3、私有方法不会重写

二、 super关键字

1、在java类中使用super来引用父类的成员。

2、继承中的构造方法

1)、子类的构造的过程中必须调用其基类的构造方法。

2)、子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法。

使用this(argument_list)调用本类的另外的构造方法

3)、如果调用super,必须写子类构造方法的第一行

4)、如果子类的构造方法中没有显示地调用基类的构造方法,则系统默认调用基类无参的构造方法。

5)、如果子类构造方法中既没有显示调用基类构造方法,而基类中又没有无参的构造方法,则编译出错。 TestSuperSub.java

乐字节Java继承-方法重写、super和final关键字

例2

乐字节Java继承-方法重写、super和final关键字

乐字节Java继承-方法重写、super和final关键字

3、让我们来做些练习:

根据前面的程序,构造“Teacher”类,继承“Person”类。要求:

1、 增加“职称(String)”属性

2、 具有和”Student”类类似的重载构造方法

3、 重写“Person”类的info()方法,增加”职称”信息。

三、 final关键字

final 表示最终的。

修饰类,表示该类不能被继承

修饰方法,表示该方法不能被重写

修饰属性,表示常量,值一旦确定不可改变。

乐字节原创,请继续关注乐字节

Java继承先就介绍到这里,下次我们再看Java多态。

原文  https://segmentfault.com/a/1190000019859703
正文到此结束
Loading...