Java抽象类(abstract)
一个类中没有包含足够的信息来描绘一个具体的对象,那么这样的类称为抽象类。
定义语法格式:
abstract class class_name {
abstract type method_name();
}
- 用abstract修饰的类 就是抽象类
- 用abstract修饰方法 就是抽象方法
抽象类的特点:
- 抽象类不能实例化,也就是不能使用 new 关键字创建对象。
- 抽象类是用来被继承
- 可以通过多态来访问其中的成员
抽象方法的特点:
- 抽象方法没有方法体
- 抽象方法必须存在于抽象类中
- 子类重写父类时,必须重写父类所有的抽象方法
抽象类和方法的关系:
如果一个方法被声明为抽象的,那么这个类也必须声明为抽象的。而一个抽象类中,可以有 0~n 个抽象方法,以及 0~n 个具体方法。
抽象类可以有构造方法。
构造方法:方便子类去使用父类的成员数据
抽象方法:限定子类中必须完成的一些特定的功能
具体方法:提高了代码的复用性
抽象类的子类
抽象类的子类 要么是抽象类 要么就重写父类中的所有的抽象方法