面向对象有三大特征:封装、继承、多态。今天就来谈谈继承。
继承概述
继承的概念:
何为继承?
当多个类存在相同的属性和行为时,重复去写相同的代码其实是没有必要的,我们可以将这些相同的属性和行为都写在一个类中,然后需要用到这些属性和行为的类去继承该类即可。
继承的思想:可以理解为将多个子类的共性,向上抽取到父类当中,以实现代码的复用性和维护性。
继承的实现:
怎样实现类与类之间的继承关系呢?
可以通过extends关键字来实现类与类的继承。具体格式为:
class 子类名 extends 父类名{
成员变量;
成员方法;
}
父类又可以称为基类或者超类;子类又可以称为派生类。
继承的特点:
不同于C++,Java中只支持单继承即一个子类只能继承一个父类。但是Java中支持多层继承。
一个事物总是有其优点和缺点,继承也不例外。下面就来谈谈继承的好处和弊端。
继承的好处:
- 提高了代码的复用性
- 提高了代码的可维护性
- 让类和类之间产生了关系(多态的前提条件)
继承的弊端:
我们在设计软件时,模块之间遵循的一个原则是高内聚、低耦合。但是继承确实增强了类和类之间的耦合性,这是继承的一个弊端。
在使用继承的时候我们需要注意的是:
- 子类只能够继承父类的非私有成员(包括成员变量和成员方法)
- 子类不能继