抽象类是面向对象编程中的一个概念,它是一种特殊的类,不能被实例化,只能被用作其他类的基类来继承并实现其抽象方法。
一、abstract 关键字基础
(一)修饰类
抽象类的定义包括:
-
抽象类通过关键字
abstract
进行声明。 -
抽象类可以包含抽象方法和具体方法。
-
抽象方法是一种只有声明而没有实现的方法,需要被子类重写来实现具体的逻辑。
-
抽象类可以包含成员变量和成员方法,这些成员变量和成员方法可以被子类继承。
当我们使用abstract关键字修饰一个类时,这个类就成为了抽象类。抽象类的特点是不能被实例化,即无法使用new关键字创建对象。例如:
abstract class Animal {
// 类的成员变量和方法
}
这里的Animal类被abstract修饰,它就像一个概念上的模板,代表着动物这个抽象的概念,但不能直接创建一个 “动物” 对象,因为 “动物” 是一个宽泛的概念,需要具体的子类(如狗、猫等)来进一步细化和实现。
注意:抽象类不一定有抽象方法,但是有抽象方法的类必须定义成抽象类。
(二)修饰方法
abstract关键字还可以用于修饰方法,被修饰的方法称为抽象方法。