Bootstrap

Java基础之抽象类和接口

在Java中,抽象类和接口都是用来定义类的蓝图或模板,但它们在使用上有一些关键的区别。

一、抽象类(Abstract Class)

  1. 关键字:使用abstract关键字定义。
  2. 可以包含的成员
    • 可以有具体的方法(有方法体),也可以有抽象的方法(没有方法体)。
    • 可以包含构造函数。
    • 可以有字段(成员变量)。
  3. 继承
    • 一个类只能继承一个抽象类(单继承),但可以实现多个接口。
  4. 用例:适合于类之间有“is-a”(是一种)关系的场景,即共享一些实现细节和状态。

示例

 
abstract class Animal {  
    abstract void makeSound(); // 抽象方法  

    void sleep() { // 具体方法  
        System.out.println("Sleeping...");  
    }  
}  

class Dog extends Animal {  
    void makeSound() {  
        System.out.println("Bark");  
    }  
}

二、接口&#x

;