抽象类:用来表征对问题领域进行分析,设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。抽象类是不完整的,只能用作基类,它体现的是一种模板。
作用:1.抽象类主要用来进行类型隐藏和充当全局变量的角色。
2.抽象类可以抽象出重要的行为标准,该行为标准用抽象方法来表示,即抽象类封装了子类必需要有的行为标准。抽象类中的方法,可以由子类去实现,即行为标准的实现由子类完成。
抽象类(语法):Java语言中,利用abstract修饰的类(abstract class)称为抽象类。
抽象方法:只有方法签名,而没有方法的具体实现。
实体方法:只有方法的签名,也有方法的具体实现。
抽象类的限制:
1.抽象类中可以有零个或多个抽象方法,也可以包含非抽象方法(实体方法)
2.抽象类中可以没有抽象方法,但是有抽象方法的类必须是抽象类
3.抽象类可以派生子类(实体类),派生的子类(实体类)中必须实现抽象类中定义的所有抽象方法
4.抽象类可以派生抽象子类(抽象类),抽象子类中不一定要实现父类所有抽象方法
5.抽象类可以包含成员变量以及构造方法,但不能通过构造方法创建实例时调用父类构造方法。
虽然抽象类本身不能创建对象,但通过子类可以调用抽象类的构造方法。这表明在类的继承机制中,不管父类是普通类还是抽象类,实例化子类对象都必须先实例化父类对象。