抽象类 详解
- 一、接口
- 二、抽象方法
- 三、抽象类
- 3.1、抽象类的概念
- 3.2、抽象类的特点:
- 3.3、抽象类的作用:
- 3.4、抽象类的应用:
- 3.5、抽象类的注意事项:
一、接口
1.1、接口的概念
1.2、接口的作用:
1.3、接口应用:
1.4、接口实践
详情参考【JAVA】《接口,抽象方法,抽象类 》之一、接口详解
二、抽象方法
2.1、抽象方法概念
2.2、抽象方法的特点:
2.3、抽象方法的作用:
2.4、抽象方法的应用:
2.5、抽象方法的实践:
2.6、使用抽象方法的注意事项
详情参考【JAVA】《接口,抽象方法,抽象类 》之二 、抽象方法详解
三、抽象类
如果一个类继承了抽象类或实现了接口,并且其中包含抽象方法,那么子类必须实现这些抽象方法,除非子类自己也声明为抽象类。下面介绍一下抽象类。
3.1、抽象类的概念
抽象类是一种特殊的类,它不能被实例化,只能被用作其他类的父类。抽象类通常包含抽象方法,这些方法没有具体的实现,而是留给子类来实现。抽象类提供了一种抽象的、规范性的概念,用于表示一组类共同的特征和行为。
3.2、抽象类的特点:
- 不能被实例化:抽象类不能直接创建对象,只能被用作其他类的父类。
- 包含抽象方法:抽象类中可以包含抽象方法,即没有具体实现的方法,子类必须提供具体的实现。
- 可以包含普通方法:抽象类中可以包含普通的方法,这些方法有具体的实现,子类可以选择是否覆盖。
- 用于继承:抽象类常用于定义一组类共同的特征和行为,子类继承抽象类并实现其中的抽象方法。
3.3、抽象类的作用:
- 定义规范:抽象类可以定义一组类共同的规范,要求子类实现特定的方法,从而保证一定的行为一致性。
- 提供默认实现:抽象类可以提供方法的默认实现,子类可以选择性地覆盖这些方法,从而减少子类的工作量。
- 实现代码重用:抽象类可以包含通用的方法和字段,从而实现代码的重用。
3.4、抽象类的应用:
- 图形类的抽象:例如,Shape 类可以作为抽象类,定义一组图形共有的特征和行为,如计算面积、计算周长等方法,而具体的图形类(如圆、矩形)可以继承 Shape 类并实现这些方法。
- 动物类的抽象:例如,Animal 类可以作为抽象类,定义一组动物共有的特征和行为,如发出声音、移动等方法,而具体的动物类(如狗、猫)可以继承 Animal 类并实现这些方法。
抽象类的示例:
abstract class Shape {abstract double calculateArea(); // 抽象方法,计算图形的面积// 普通方法,打印图形的名称void printName() {System.out.println("This is a shape.");}
}class Circle extends Shape {private double radius;public Circle(double radius) {this.radius = radius;}@Overridedouble calculateArea() {return Math.PI * radius * radius;}
}class Rectangle extends Shape {private double width;private double height;public Rectangle(double width, double height) {this.width = width;this.height = height;}@Overridedouble calculateArea() {return width * height;}
}
3.5、抽象类的注意事项:
- 抽象类不能被实例化:抽象类不能直接创建对象,只能被用作其他类的父类。
- 抽象类中的抽象方法必须被子类实现:如果一个类继承了抽象类,并且其中包含抽象方法,那么子类必须实现这些抽象方法,除非子类自己也声明为抽象类。
- 抽象类中可以包含普通方法:抽象类中可以包含具体的方法,子类可以选择是否覆盖这些方法。
- 抽象类的字段和构造方法:抽象类中可以包含字段和构造方法,这些字段和构造方法将被子类继承。
- 抽象类的继承:一个类只能继承一个抽象类,但可以实现多个接口。
订阅我的专栏,动动小手,点点关注,随学随更~