1、抽象类就是一个不能实例化(不能new)的类。定义形式:abstract class 类名{//跟之前一样,定义类的成员就行}
2、为什么需要这样一个“抽象类”——它不能实例化对象。请看如下代码:
3、可见:抽象类的目的不是为了得到一个自己的对象,而是为了“后代类”服务,给后代类提供一定的属性和方法。再看一个具体一点的应用场景:
4、抽象方法:抽象方法,就是一个“啥也不做”的方法:定义形式:abstract function 方法名(形参1,形参2,... );可见:1,抽象方法,只定义方法头,没有大括号部分的方法体;2,可以看到,该方法实际上没有任何可执行的代码,自然并不能做任何事情;3,该方法是“专用于被覆盖(重写)”;——实际上,抽象方法,是要求下级必须重写。