1、什么是继承?
“树上一只鸟树下两只兔子,请问几种动物 , 请问几种生物?” 这里面就存在了继承的概念。
继承:子承父业
继承的本质在于抽象。类是对对象的抽象,继承是对某一批类的抽象,从而实现对现实世界更好的建模。
继承的作用 : 使用继承可以提高代码的复用性。
通过继承,子类可以使用父类中的一些成员变量和方法,从而提高代码的重用性,提高开发效率。
2、如何使用继承
父类|超类|基类:根据一些列子类抽象,抽取像的部分,定义在父类中。
子类|派生类:子类继承父类,有权使用父类中的内容,可以定义子类新增内容,所以说子类是父类的延续+扩展
extends 关键字的意思是“扩展”。子类是父类的扩展。
java 中使用 extends 关键字实现类的继承机制,语法规则:
<modifier> class <name> [extends <superclass>]{}
//父类
class Person{
public String name;
public int age;
public void sleep(){
System.out.println("休息");
}
}
//子类
//教师类
class Teacher extends Person{
public String subject;
public Teacher() {
}
public void teach(){
System.out.println("传授知识");
}
}
//学生类
class Student extends Person{
public String school;
public Student() {
}
public void study(){
System.out.println("在知识的海洋畅游!");
}
}
注意:
- 子类继承父类的成员变量和成员方法,但不继承父类的构造方法
- java中只有单继承 ,没有像c++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。就像我们现实中,如果你有多个父母亲,那是一个多么混乱的世界啊。多继承,就是为了实现代码的复用性,却引入了复杂性,使得系统类之间的关系混乱。
- java中的多继承,可以通过接口来实现
- 如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object。
本文是java入门到架构师全套全新课程的配套课件,如需视频教程资料请评论或者私信。
3、继承的优缺点
优点:
- 通过继承可以简化类的定义,实现代码的重用|提高代码复用性
- 可以更好的扩展程序
- 子类一旦继承父类,可以有权使用父类中的成员,也可以扩展定义子类独有内容
- java是单继承继承,实现简单
缺点:
- 子类与父类之间紧密耦合(耦合度高),子类依赖于父类的实现,子类缺乏独立性。
- 不便于后期维护
- 单继承一个子类只能有一个父类,不够灵活,不便于后期维护