java 三大特性之继承
Java中的继承作为Java面向对象三大特性之一,在知识点上而言,还是很多的。现做出如下总结:
1. 继承的概念:
继承的关键字为extends,继承在本职上是特殊——一般的关系,即常说的is-a关系。子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的
一些属性或方法。
2. 继承中的初始化顺序:
从类的结构上而言,其内部可以有如下四种常见形态:属性(包括类属性和实例属性)、方法(包括类方法和实例方法)、构造器和
初始化块(包括类的初始化块和实例的初始化块)。对于继承中的初始化顺序,又具体分为类的初始化和对象的初始化。
类初始化:
类属性和类初始化块之间的定义时的顺序决定了其初始化的顺序。若类存在父类,则首先初始化父类的类属性和类初始化块。
对象初始化:
在new创建对象时,首先对对象属性和初始化块分配内存,并执行默认初始化。如果存在父类,则先为父类对象属和初始化块先分配内存并执行初始化。
然后执行父类构造器中的初始化程序,接着才开始对子类的对象属性和初始化块执行初始化。
3. super()的使用:
this和super很像,this指向的是当前对象的调用,super指向的是当前调用对象的父类。类加载完毕,创建对象,父类的构造方法会被调用(默认自动无参),然后执行子类相应构造创建了一个子类对象,该子类对象还包含了一个父类对象。该父类对象在子类对象内部。this super只能在有对象的前提下使用,不能在静态上下文使用。super()主要还是用于指向子类对象中父类对象,或访问父类的属性或构造的方法。
4.继承限定符的使用:
四个限定符:public protected default(默认) private
四个访问限定符对方法都可以修饰。