第十章 继承
一、继承的作用
继承是Java中实现代码重复使用的重要手段。
继承是面向对象的三大特性之一。
在两个类实现了继承之后 会产生子类和父类的概念,而子类可以拥有父类中的属性和方法,子类还可以对这些方法进行重写。
Java中继承是单根继承,一个类有且仅有一个亲爹。
二、继承的基本使用
1.将多个类抽取公共代码到父类中。
子类 is a 父类
public class Pet{
//公共代码
}
2.使用子类去继承父类,即可拥有父类中的公共代码
public class Dog extends Pet{
//自己特有的
//继承了父类中公共的
}
继承的注意事项
1.之类不是无限继承父类中的内容,他只能继承父类中非私有(非private修饰)的代码,也不能继承构造方法,也不能继承不同包中,默认修饰的内容
只能继承父类中非私有(非private修饰)的代码:private修饰的内容是私有的,只能在本类中使用。(爸爸的闺女是父类私有的 子类无法继承此关系)
不能继承构造方法:构造方法是用来初始化对象(对象创建),他是给父类创建对象用的。
2.子类和父类之间要有 is a 的关系
三、掌握super关键字的使用
类似于this this表示当前类的对象,谁在调用谁就是当期那对象
super 表示当前类的父类的对象
this可以调用自己的属性(this.xxx)自己的方法(this.xxx()) 自己的构造(this())
super 可以调用父类的属性(super.xxx) 父类的方法 (super.xxx()) 父类的构造(super())
this 和super 在构造中调用其他构造时,只能出现在有效代码的第一行
子类继承父类之后,子类的构造方法中会自动添加父类构造的调用代码。
public Dog(){
super();
}
四、继承之后 加载顺序
父类静态代码块、父类构造代码块、父类的构造方法 子类静态 子类构造子类构造方法以上如果同时出现则执行顺序如下
父类静态 - 子类静态代码块 - 父类构造代码块 - 父类构造方法 - 子类的构造代码块 - 子类的构造方法