父类和子类
关键字 extends
需要注意的几点
- 一个子类通常比父类包含更多的信息和方法
- 父类的私有数据域在该类之外是不可访问的
- 继承是用来为是关系建模的
- 多重继承:某些语言允许从几个类派生出一个子类。Java不允许多重继承,但是可以通过接口来实现
super关键字
- 调用父类的构造方法
super()
super(parameters)
- 要调用构造方法必须使用关键字super,并且这个调用必须是构造方法的第一条语句。在子类中调用父类构造方法的名字会引起一个语法错误。
- 父类的构造方法不能被子类继承。
- 调用父类的方法
构造方法链:子类继承父类是,在执行子类构造方法之前,先执行完父类的构造方法,直至最后一个构造方法被调用为止
覆盖方法
子类需要修改父类定义的方法的实现。
- 仅当实例方法是可访问时,才能被覆盖。
- 静态方法也能被继承,但是不能被覆盖。如果父类中定义的静态方法在子类红被重新定义,那么定义在父类中的静态方法将被隐藏。
多态
父类型的变量可以引用子类型的对象。
动态绑定
- 声明类型
一个变量必须被声明为某种类型。 - 实际类型
被变量引用的对象的实际类。
一个对象要调用的方法,要由它的实际类型所决定,这就是动态绑定。