阅读量:7
在Java中,abstract关键字可以用于以下三个地方:
- 抽象类:使用abstract关键字来声明一个抽象类。抽象类是不能被实例化的,只能被继承。抽象类可以包含抽象方法和非抽象方法。抽象方法是没有实现的方法,子类必须实现抽象方法才能使用。
示例代码:
abstract class Animal { abstract void sound(); void sleep() { System.out.println("Animal sleeps"); } } class Dog extends Animal { void sound() { System.out.println("Dog barks"); } } public class Main { public static void main(String[] args) { Animal animal = new Dog(); animal.sound(); animal.sleep(); } }
- 抽象方法:使用abstract关键字来声明一个抽象方法。抽象方法只有方法的声明,没有方法体。抽象方法必须在抽象类中声明,并且子类必须实现抽象方法。
示例代码:
abstract class Animal { abstract void sound(); } class Dog extends Animal { void sound() { System.out.println("Dog barks"); } } public class Main { public static void main(String[] args) { Animal animal = new Dog(); animal.sound(); } }
- 接口:使用abstract关键字来声明一个接口。接口是一种抽象数据类型,它只包含方法的声明,没有方法的实现。类可以实现一个或多个接口,实现接口的类必须实现接口中声明的所有方法。
示例代码:
interface Animal { void sound(); } class Dog implements Animal { public void sound() { System.out.println("Dog barks"); } } public class Main { public static void main(String[] args) { Animal animal = new Dog(); animal.sound(); } }