在Java中,abstract关键字用于定义抽象类和抽象方法。
抽象类是指无法实例化的类,只能被继承。抽象类通常用于定义一些共性的特征和行为,并且可以包含抽象方法。抽象方法是没有具体实现的方法,只有方法的声明,具体的实现需要在子类中完成。抽象类可以包含其他非抽象的方法和属性。
使用abstract关键字定义抽象类:
abstract class AbstractClass {
// 抽象方法
public abstract void abstractMethod();
// 非抽象方法
public void nonAbstractMethod() {
// 具体实现
}
}
抽象方法不需要包含具体的实现,只包含方法的声明:
abstract void abstractMethod();
抽象类不能被实例化,只能通过继承来使用。子类继承抽象类时,必须实现抽象类中的所有抽象方法,或者将子类也定义为抽象类。
使用抽象类和抽象方法的例子:
abstract class Animal {
abstract void sound();
}
class Cat extends Animal {
void sound() {
System.out.println("Meow");
}
}
class Dog extends Animal {
void sound() {
System.out.println("Woof");
}
}
public class Main {
public static void main(String[] args) {
Animal cat = new Cat();
Animal dog = new Dog();
cat.sound(); // 输出 "Meow"
dog.sound(); // 输出 "Woof"
}
}