Java中抽象类和接口之间的区别

抽象类(Abstract Class)

  • 抽象类可以包含抽象方法(方法没有实现),也可以包含具体方法(方法有实现)。
  • 抽象类可以有成员变量,可以有构造方法,可以拥有普通方法。
  • 一个类只能继承一个抽象类,即Java不支持多重继承。
  • 抽象类用abstract关键字定义,使用extends关键字来继承。
abstract class Shape {
    // 抽象方法
    public abstract void draw();
    
    // 具体方法
    public void move() {
        System.out.println("Moving the shape");
    }
}
图片[1]-Java中抽象类和接口之间的区别-不念博客

接口(Interface)

  • 接口只包含抽象方法(方法没有实现),没有成员变量,没有构造方法。
  • 一个类可以实现多个接口,支持多接口继承。
  • 接口用interface关键字定义,使用implements关键字来实现。
interface Drawable {
    // 抽象方法
    void draw();
}

interface Movable {
    // 抽象方法
    void move();
}
© 版权声明
THE END