Java中的abstract关键字用于定义抽象类和抽象方法。
例子:
abstract class Animal {
// 抽象方法
public abstract void sound();
// 非抽象方法
public void sleep() {
System.out.println("Animal is sleeping");
}
}
抽象类中可以包含抽象方法和非抽象方法。抽象方法没有具体的实现,只有方法的声明,而非抽象方法有具体的实现。子类继承抽象类时,必须实现所有的抽象方法。
例子:
abstract class Animal {
// 抽象方法
public abstract void sound();
}
子类继承抽象类时,必须实现父类中的抽象方法,否则子类也必须声明为抽象类。
抽象类不能被实例化,只能被继承。
抽象类可以包含抽象方法和非抽象方法。
子类继承抽象类时,必须实现所有的抽象方法。
如果子类没有实现抽象类中的所有抽象方法,那么子类也必须声明为抽象类。
抽象类可以有构造方法,但不能通过new操作符来创建抽象类的实例。
总结:抽象类和抽象方法用于定义一种具有一定抽象性质的类和方法,它们不能直接被实例化,只能被继承和实现。抽象类和抽象方法的使用可以提高代码的灵活性和可扩展性。