每日一问:Java中抽象类与抽象方法
1. 概述
类用于描述现实生活中一类事物。类中有属性、方法等成员。
父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有 意义,而方法主体则没有存在的意义了。
某种情况下,父类只能知道子类应该具备一个怎样的方法,但是不能够明确知道如何实现该方法。只能在子类中才能确定如何去实现方法体。例如:所有几何图形都应该具备一个计算面积的方法。但是不同的几何图形计算面积的方式不同。
我们把没有方法主体的方法称为抽象方法。Java语法规定,包含抽象方法 的类就是抽象类。
2. 抽象类
- 抽象类:包含抽象方法的类。如果一个类包含抽象方法,那么该类必须是抽象类,使用 abstract 关键字修饰
定义格式:
public abstract class 类名 {
//抽象类中可以包含变量、常量,抽象方法,非抽象方法
}
代码举例:
public abstract class