5.1 面向对象特征之二:继承性
一、继承性的好处:
1、减少了代码的冗余,提高了代码的复用性。
2、便于功能的扩展。
3、为之后多态性的使用,提供了前提。
二、继承性的格式: class A extends B{}
A:子类、派生类、subclass
B:父类、超类、基类、superclass
2.1 体现:一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有结构:属性、方法。
特别的:父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私有的结构。只是因为封装性的影响,使得子类不能直接调用父类的结构而已。
2.2 子类继承父类以后,还可以声明自己特有的属性或方法:实现功能的拓展。
子类和父类的关系,不同于子集和集合的关系。
三、Java中关于继承性的规定
1、一个类可以被多个子类继承。
2、Java中类的单继承性:一个类只能有一个父类。
3、子父类是相对的概念。
4、子类直接继承的父类,称为:直接父类;间接继承的父类,称为:间接父类。
5、子类继承父类以后,就获取了直接父类以及所有间接父类中声明的属性和方法。
四、补充
1、如果我们没有显式的声明一个类的父类的话,则此类继承于java.lang.Object类。
2、所有的java类(除java.lang.Object类之外)都直接或间接的继承于java.lang.Object类。
3、意味着,所有的java类具有java.lang.Object类声明的功能。
5.2 方法的重写
重写的规定:
1、子类重写的方法的方法名和形参列表与父类被重写的方法的方法名和形参列表相同。
2、子类重写的方法的权限修饰符不小于父类被重写的方法的权限修饰符。
>特殊情况:子类不能重写父类中声明为private权限的方法。
3、返回值类型:
>父类被重写的方法的返回值类型是void,则子类重写的方法的返回值类型只能是void。
>父类被重写的方法的返回值类型是A类型,则子类重写的方法的的返回值类型可以是A类或A类的子类。
>父类被重写的方法的返回值类型是基本数据类型(比如:double),则子类重写的方法的的返回值类型必须是相同的基本数据类型(必须也是double)。
4、子类重写的方法抛出的异常类型不大于父类被重写的方法抛出的异常类型。
5.3 面向对象特征之三:多态性
5.4 Object类的使用
5.5 包装类的使用