一、面向对象的特征二:继承性
1.为什么要设计继承性?
2.通过“class A extend B”类实现类的继承。
子类:A 父类(或基类 SuperClass):B
3.子类继承父类以后,父类中声明的属性、方法,子类就可以获取到。私有的也可以获取到但不能直接用,可以通过父类公用的方法去使用
明确:当父类中有私有的属性或方法时,子类同样可以获取得到,只是由于封装性的设计,使得子类不可以直接调用。
子类除了通过继承,获取父类的结构之外,还可以定义自己的特有的成分。
extends:子类是对父类功能的“扩展”,明确子类不是父类的子集。
4.Java的继承性只支持单继承!一个类只能继承一个父类,一个父类可以有多个子类。
5.子父类是相对的概念。
二、方法的重写—(方法的重载是同类中同名方法间进行) 修饰符 返回值类型 方法名(参数列表){}
1前提:有子类继承父类
2子类继承父类以后,若父类的方法对子类不适用,那么子类可以对父类的方法重写(override overwrite)、覆盖、覆写。
3.重写的规则:
1)要求子类的方法的“ 返回值类型 方法名(参数列表)”与父类的方法一样
2)子类方法的修饰符不能小于父类方法的修饰符
3)若父类方法抛异常,那么子类方法抛的异常类型不能大于父类的。
4)子父类的方法必须同为static或同为非static的。
5)如果现在父类的一个方法定义成private访问权限,在子类中将此方法声明为private/default/缺省的访问权限,那么这样不叫重写。