在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();}}