描述

继承的作用就是减少冗余.比如程序员和农民工虽然职业不同,但是他们都有共性,比如他们都需要吃饭都需要睡觉,都在上班等等,这些共性我们可以把他们提取出来作为一个新的公共类,将他作为其他类的基础,这样就不用在其他每个类中再去重复写同样的特性和行为了,只需要在自己的类中写自己独有的特征和行为,这样的机制称为继承.

好处

  • 提高了复用性
    如果多个类拥有公共的特征和行为,比如工人和老师都要吃饭,在这里吃饭是一个公共的行为,我们可以将它提取到公共类 People 中作为一个 eat 方法,然后让 Worler 类和 Teacher 类继承 Person 类,这样即使 Worker 类和 Teacher 类中没有 eat 方法,依然可以从父类 Person 中调用 eat 类,这就是复用性
  • 提高可维护性
    当我将 Person 类中的某个属性删除后,所有子类都不再拥有该属性
  • 提高可扩展性
    当我在 Person 类中添加一个 age 属性,那么所有的子类也会拥有 age 属性

无法从父类继承的方法

虽然子类默认可以继承父类的方法,但是也有不能继承的方法,总共有两个

  • 构造方法
    构造方法要求方法名和类名相同,但父类的构造方法名和子类的类名不同,即使继承了,对于子类来说也无法作为构造方法使用,因此继承了也没有意义
  • 私有方法
    私有方法被限制为只能在本类中使用,因此即使子类能继承父类的私有方法,也无法使用,所以继承下来也没有意义

私有成员变量可以被继承,但是不能直接访问。可以通过公有的getter访问