Java面向对象程序设计- 抽象类和抽象方法
阅读:2171.抽象方法的概念
面向对象程序设计(OOP)还有一个重要特性是抽象,我们把一个类的方法过于抽象,导致我们无法抽象出共性的行为,我们可以把该方法声明为抽象方法,例如:
abstract void shape();
抽象方法用abstract关键词修饰,没有方法体。上面我们定义了一个抽象方法,shape(),动物的形状千奇百怪,显然,过于抽象,我们可以定义为抽象方法。
2.抽象类
一个包含抽象方法的类,就是抽象类且必须定义为抽象类。该类使用abstract修饰,例如:
public abstract class AbstractDemo {
abstract void shape();
}
抽象类可以不包含抽象方法,也可以都是普通方法,其实这是个很无聊的问题,如果一个类都是普通方法,为什么要声明成抽象类呢?
2.1抽象类的作用
我们把事物抽象成一个抽象类,显然是为了复用,怎么复用呢?答案就是继承。
抽象类天生就是为了继承而存在的。
2.2 抽象类的特性
- 抽象类不能被实例化,只能被继承,但是是有构造器的。
- 抽象方法必须为public或者protected,默认是public。不能是private,因为private修饰的方法不能被子类实现(注:这些修饰符后面章节会详细讲解,暂时先简单理解下即可)。
- 继承抽象类的子类必须实现抽象类的抽象方法,除非子类也是抽象类。
© 版权归知否网(zhifou.net)所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权知否网将依法追究其法律责任。
读后有收获,请作者喝杯咖啡
