Java继承与重写

继承是Java面向对象编程技术中的一门。继承就是子类继承父类的特征和行为,或者是继承父类得方法,使的子类具有父类得的特性和行为。继承的关键字是:extends。需要注意的是Java不支持多继承,但支持多重继承。

    重写是子类对父类的允许访问的方法实行的过程进行重新编写,返回值和形参都不能改变。就是对原本的父类进行重新编写,但是外部接口不能被重写。

 

首先,先新建一个类,在类里面写上父类的方法,可以有静态类,构造方法等等。

Java继承与重写

 

然后,用一个新的类去继承父类,作为一个中间类,继承的关键字是extends

 

Java继承与重写

再新建一个类来重写新的方法,但是这个类也要继承父类,然后重写父类的方法。

Java继承与重写

到最后,用一个新的类来输出继承和重写的结果。首先要实例化方法,然后赋值到里面。调用输出结果。注意的是重写的时候,不能改变返回值和形参。

Java继承与重写

Java继承与重写

方法的重写规则:

(1): 参数列表必须完全与被重写方法的相同;

(2):返回类型必须完全与被重写方法的返回类型相同;

(3):访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。

(4):父类的成员方法只能被它的子类重写。

(5):声明为final的方法不能被重写。

(6):声明为static的方法不能被重写,当是能够被再次声明。

(7):子类和父类在同一个包中,那么子类可以重写父类所有除了声明为private和final的方法。

(8):子类和父类不在同一个包中,那么子类只能够重写父类的声明为public和protected的非final方法。

(9):重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以。

(10):构造方法不能被重写。如果不能继承一个方法,则不能重写这个方法。