抽象类和接口的区别

相同点:

  都不能被实例化,只能实现接口或子类继承抽象类之后才能实例化,

不同点:

  单继承、多实现,抽象类是使用的extends、接口使用的是implements

  抽象类强调的是从属关系、接口强调的是特定的功能

  抽象类中有定义、也有实现;接口中只有定义,当然了JDK1.8引入了default方法

  接口中的成员变量只能被public static final修饰,必须被初始化,切不能修改;而抽象类中的成员变量是可以修改的。

public interface Person{
  public static final int a=10;
  //JDK1.8
    default void sayHello(){
        System.out.println("Hello World");
    }
    public void say();
}
public abstract class Person{
  public abstract void say();
  public void eat(){};
}

 

posted @ 2021-10-08 10:06  bit01  阅读(37)  评论(0编辑  收藏  举报