前面咱们学习了类和对象的概念,学习了方法的重载,今天咱们将学习面向对象另外一个重要特性,继承(inheritance)。利用继承,咱们能够基于一个已经存在的类狗仔一个新的类,继承已经存在的类方法和域。而且咱们能够添加一些新的方法和域。这是面向对象编程一个很是重要的特性。java
学完这次课程,咱们将了解Java的继承、子类、父类的概念,以及如何使用。编程
5-10分钟学习
假设公司咱们新建了一个员工(Employee)类,而这个公司有一位经理,经理拥有员工的基本特性,而且会有一些额外的功能(方法)。每一名经理都是一名特殊的员工,这种关系就是明显的继承关系。3d
语法: extends 关键字对象
public class Manager extends Employee{ 添加方法和域 }blog
关键字 extends 代表正在构造的新类派生于一个已存在的类 。 已存在的类称为超类 ) 派生类( superclass ) 、 基类 ( base class ) 或父类 ( parent class ) ; 新类称为子类 ( subclass )派生类( derived class ) 或孩子类 ( child class ) 。继承
看一下入门程序:get
首先定义一个父类 Employee 类it
而后新建一个经理类,继承自Employee类。面向对象编程
实例化一个经理对象,而且调用父类的方法。
程序执行结果:
当父类的某个方法并不适用于子类时,咱们能够在子类从新定义该方法,而且修改逻辑。这就是方法重写或者覆盖。
咱们新建一个Manager2,继承自Employee类,重写了父类的getName()方法。
执行结果:
若是子类覆盖了父类的某个方法,可是在项目中咱们想调用父类的方法,能够在子类使用super关键字。
构造方法中,设置父类私有域
在子类中给,父类的私有域赋值。
运行结果:
要注意的是Java和Python不一样,不支持多继承。一个Manager实例,确定是一个Employee,一个Employee不必定是Manager。