Java 教程
/ Java 抽象类
Java 抽象类
在本教程中,您将学习如何使用Java抽象类,抽象类和方法数据抽象是隐藏某些细节并仅向用户显示基本信息的过程。抽象可以通过abstractclasses抽象类或interfaces接口来实现(您将在下一章中了解更多)。
抽象类和方法
数据抽象是隐藏某些细节并仅向用户显示基本信息的过程。
抽象可以通过abstract classes抽象类或interfaces接口来实现(您将在下一章中了解更多)。
abstract
关键字是非访问修饰符,用于类和方法:
- 抽象类: 是一个不能用于创建对象的受限类(要访问它,必须从另一个类继承)。
- 抽象方法: 只能在抽象类中使用,并且它没有主体。主体由子类(继承自)提供。
抽象类可以有抽象方法和常规方法:
abstract class Animal { public abstract void animalSound(); public void sleep() { System.out.println("Zzz"); } }
根据上面的示例,不可能创建 Animal 动物类的对象:
Animal myObj = new Animal(); // 会产生错误
要访问抽象类,它必须从另一个类继承。让我们将 多态性 一章中使用的 Animal 类转换为抽象类:
请记住,在继承继承一章中,我们使用extends
关键字从类继承。
实例
// 抽象类 abstract class Animal { // 抽象方法(没有主体) public abstract void animalSound(); // 常规方法 public void sleep() { System.out.println("Zzz"); } } // 子类(继承自 Animal) class Pig extends Animal { public void animalSound() { // 这里提供了 animalSound() 的主体 System.out.println("The pig says: wee wee"); } } class MyMainClass { public static void main(String[] args) { Pig myPig = new Pig(); // 创建 Pig 对象 myPig.animalSound(); myPig.sleep(); } }
点击 "运行实例" 按钮查看在线实例
为什么以及何时使用抽象类和方法?
因为要实现安全性,要隐藏某些细节并仅显示对象的重要细节。
注释: 抽象也可以通过接口接口实现,您将在下一章中了解更多。