抽象类和接口区别

╄→гoц情女王★ 提交于 2020-02-17 11:19:44

1,接口的方法没有方法体(JDK1.8之前),JDK1.8之后也会有默认的方法体,而抽象类可以有非抽象的方法,有方法体(非抽象方法)

public void getUserName();
default boolean isEmpty(){
        return false;
}

2,接口的方法的访问修饰符都是public,抽象类的抽象方法可以有public、protected和default这些修饰符

3,抽象类中可以有普通成员变量,接口中没有普通成员变量

4,一个类可以实现多个接口,但只能实现一个抽象类。

5,抽象类可以有构造方法,只是抽象类的构造方法不能直接调用 因为抽象类不能实现实例,但是一旦一个普通类继承了抽象类 便也可以在构造函数中调用其抽象类的构造函数
      接口没有构造方法

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!