Java面向对象程序设计- 抽象类和抽象方法

阅读:174

1.抽象方法的概念

面向对象程序设计(OOP)还有一个重要特性是抽象,我们把一个类的方法过于抽象,导致我们无法抽象出共性的行为,我们可以把该方法声明为抽象方法,例如:

abstract void shape();

抽象方法用abstract关键词修饰,没有方法体。上面我们定义了一个抽象方法,shape(),动物的形状千奇百怪,显然,过于抽象,我们可以定义为抽象方法。

2.抽象类

一个包含抽象方法的类,就是抽象类且必须定义为抽象类。该类使用abstract修饰,例如:

public abstract class AbstractDemo {
    abstract void shape();
}

抽象类可以不包含抽象方法,也可以都是普通方法,其实这是个很无聊的问题,如果一个类都是普通方法,为什么要声明成抽象类呢?

2.1抽象类的作用

我们把事物抽象成一个抽象类,显然是为了复用,怎么复用呢?答案就是继承

抽象类天生就是为了继承而存在的。

2.2 抽象类的特性

  • 抽象类不能被实例化,只能被继承,但是是有构造器的。
  • 抽象方法必须为public或者protected,默认是public。不能是private,因为private修饰的方法不能被子类实现(注:这些修饰符后面章节会详细讲解,暂时先简单理解下即可)。
  • 继承抽象类的子类必须实现抽象类的抽象方法,除非子类也是抽象类。

读后有收获,请打赏。更多精彩内容,请关注微信公众号。有疑问请加QQ交流群:454792501

全部评论

发表评论
更多精彩内容,请关注微信公众号