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

抽象类(Abstract Class)

  • 抽象类可以包含抽象方法(方法没有实现),也可以包含具体方法(方法有实现)。
  • 抽象类可以有成员变量,可以有构造方法,可以拥有普通方法。
  • 一个类只能继承一个抽象类,即Java不支持多重继承。
  • 抽象类用abstract关键字定义,使用extends关键字来继承。
abstract class Shape {
// 抽象方法
public abstract void draw();
// 具体方法
public void move() {
System.out.println("Moving the shape");
}
}
abstract class Shape {
    // 抽象方法
    public abstract void draw();
    
    // 具体方法
    public void move() {
        System.out.println("Moving the shape");
    }
}
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();
}
interface Drawable {
    // 抽象方法
    void draw();
}

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