导读
本文适合Java入门,不太适合Java中高级软件工程师。本文以《Java程序设计基础篇》第10版为蓝本,采用不断提出问题,然后解答问题的方式来讲述。本篇文章只是这个系列中的一篇,如果你喜欢这种讲解方式,或者觉得从中能学到知识,可以关注我,以便查阅本系列其他文章。
让我们开始愉快地学习Java语言吧!
1抽象类
定义:
抽象类:没有具体实现,无法使用new实例化,并且使用abstract修饰的类。
抽象方法:抽象方法只有方法头,没有具体的实现。抽象方法使用abstract修饰。
要点:
- 抽象类虽然不能实例化,但可以作为类型使用。
- 抽象类也可以包含实例方法。
- 父类是具体的,其子类可以是抽象类。
- 抽象类的构造方法必须使用protected修饰。
- 一个包含抽象方法的类必须声明为抽象类。
- 非抽象类不能有抽象方法。
- 子类中重写方法可以定义为abstract。
为什么要设计抽象类?
在使用继承建模的过程中,父类具备所有子类共有的特性,这时父类就成了一种契约,约束子类共有的特性。使用抽象类可以实现这种效果。
为什么抽象类的构造方法必须使用protected?
因为抽象类是一种契约,它是仅