《Java编程的逻辑》笔记 20 - 抽象类
2019-06-07 本文已影响7人
天一方蓝
抽象类.png
image.png
基本概念
抽象类就是抽象的类,抽象是相对于具体而言的,一般而言,具体类有直接对应的对象,而抽象类没有,它表达的是抽象概念,一般是具体类的比较上层的父类
注意点
之前我们介绍过图形类Shape,它有一个方法draw(),Shape其实是一个抽象概念,
它的draw方法其实并不知道如何实现,只有子类才知道。这种只有子类才知道如何实现的方法,一般被定义为抽象方法
abstract关键字声明
image.png
抽象类不能创建对象(比如,不能使用new Shape()),而具体类可以
为什么需要抽象类?
无论是写程序,还是平时做任何别的事情的时候,每个人都可能会犯错,减少错误不能只依赖人的优秀素质,还需要一些机制,使得一个普通人都容易把事情做对,而难以把事情做错。抽象类就是Java提供的这样一种机制
抽象类和接口
抽象类和接口是配合而非替代关系,它们经常一起使用,接口声明能力,
抽象类提供默认实现,实现全部或部分方法,一个接口经常有一个对应的抽象类