在Java中,一个没有具体实现的类称为抽象类。
要求如下:
1、这个类不能被实例化,只能被继承。
2、在抽象类中,可以有抽象方法和非抽象方法。
3、抽象方法是没有实现的方法,必须在子类中被重写。
4、不能直接调用抽象类的构造方法实例化对象。
以下是一个Java抽象类的例子:
abstract class Animal {
// 抽象方法
abstract void makeSound();
// 非抽象方法
void sleep() {
System.out.println("Zzz");
}
}
class Dog extends Animal {
// 实现抽象方法
void makeSound() {
System.out.println("Woof");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.makeSound(); // 输出: Woof
dog.sleep(); // 输出: Zzz
}
}
在这个例子中,Animal
是一个抽象类,它有一个抽象方法 makeSound()
和一个非抽象方法 sleep()
。
Dog
类继承了 Animal
类并实现了 makeSound()
方法。
在 main
方法中,我们创建了一个 Dog
类的实例,并调用了它的 makeSound()
和 sleep()
方法。