Kotlin 面试题
目录

Kotlin 中什么是抽象类 (Abstract Class)?

· 约 3 分钟读完 · 第 75 / 200 章

推荐答案

在 Kotlin 中,抽象类(Abstract Class)是一种不能被实例化的类,通常用于作为其他类的基类。抽象类可以包含抽象方法(没有实现的方法)和具体方法(有实现的方法)。子类必须实现抽象类中的所有抽象方法,除非子类本身也是抽象类。

本题详细解读

抽象类的定义

抽象类使用 abstract 关键字进行声明。抽象类可以包含抽象方法和具体方法。抽象方法没有方法体,必须在子类中实现。具体方法有方法体,可以直接在子类中使用或重写。

抽象类的特点

  1. 不能被实例化:抽象类不能直接创建对象,必须通过子类来实例化。
  2. 可以包含抽象方法和具体方法:抽象类可以定义抽象方法(没有实现的方法)和具体方法(有实现的方法)。
  3. 子类必须实现抽象方法:除非子类也是抽象类,否则子类必须实现抽象类中的所有抽象方法。
  4. 可以包含属性和构造函数:抽象类可以定义属性和构造函数,子类在继承抽象类时可以使用这些属性和构造函数。

抽象类的使用场景

抽象类通常用于定义一些通用的行为或属性,并要求子类实现特定的行为。例如,在游戏开发中,可以定义一个抽象类 Character,其中包含一些通用的属性和方法,如 move() 和 attack(),而具体的角色类(如 Warrior 和 Mage)可以继承 Character 并实现特定的行为。

示例代码

在这个示例中,Character 是一个抽象类,定义了 attack() 抽象方法和 move() 具体方法。Warrior 和 Mage 是 Character 的子类,分别实现了 attack() 方法。