概念
继承是从已有的类中派生出新的类,新类吸收已有类的数据属性和行为,并能扩展新的功能。
类与类之间的继承关系可以用UML表示,其中父类又叫超类或基类,子类又叫派生类。
一个类只能继承一个父类,可以被多个类继承。
JAVA中的多继承是通过接口(interface)来间接实现的。
子类权限
可以继承public和protected成员变量或方法,不能继承private成员变量或方法;
如果在一个包下,可以继承包访问权限成员变量或方法,否则不行;
子类的成员变量会隐藏父类中同名的成员变量,访问父类中同名的成员变量需要使用super关键字来进行引用;
子类的成员方法会覆盖父类中同名的成员方法,访问父类中同名的成员方法需要使用super关键字来进行引用;
为什么子类的构造函数一定要访问父类的构造函数?
答:
因为子类继承父类,会继承到父类中的数据,它就需要看父类是如何对自己的数据初始化的。所以,子类在进行
对象初始化时,需要先调用父类的构造器。子类的所有构造函数中的第一行,都有一条隐式的super()。
Super()表示父类构造函数,并会调用与参数相对应的父类构造函数。