继承是面向对象最显著的一个特性,它是以已存在的类为基础定义新类的技术,新的类可以继承已有类的属性和方法,也可以增加新的类成员。
5.1.1什么是继承
在现实生活中,一类事物往往都可以划分成更小的类别。例如:“人”就是一类事物,按照人的身份和职业,可以把人划分成学生、教师、工人等。而每种被划分出来的小类别又可以继续划分成更小的类别,例如学生还可以继续划分成小学生、初中生、高中生等等,如图5-1所示。
图5-1 事物分类示意图
Java语言中,一个类就代表了一类事物。按照事物的细分思想,Java语言中的类也能够被划分为更小的类。在面向对象的程序设计语言中,人们把“大类”称为“父类”,而把“小类”称为“子类”。例如:在程序中以Person类来表示“人”,以Student类来表示“学生”。按照二者之间的逻辑关系,Person就是父类,Student就是子类。父类与子类之间的关系是相对的。如果以SeniorStudent表示“高中生”,那么相对而言,Student类就成了父类,而SeniorStudent就是子类。