Java接口和抽象类的区别

Java提供和支持创建抽象类和接口。

它们的实现有共同点,不同点在于:

  1. 接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。

  2. 类可以实现很多个接口,但是只能继承一个抽象类,接口可以有多个父接口。

  3. 类可以不实现抽象类和接口声明的所有方法,当然,在这种情况下,类也必须得声明成是抽象的。

  4. 抽象类可以在不提供接口方法实现的情况下实现接口。

  5. Java接口中声明的变量默认都是final的。抽象类可以包含非final的变量。

  6. Java接口中的成员函数默认是public的。抽象类的成员函数可以是private,protected或者是public。

  7. 接口是绝对抽象的,不可以被实例化。抽象类也不可以被实例化,但是,如果它包含main方法的话是可以被调用的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 接口interface和抽象类abstract class的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。...
    BestFei阅读 3,304评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,946评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,421评论 19 139
  • 文/洋气杂货店 01. 以前喜欢看《甄嬛传》,宫廷女人之间的明争暗斗让人心惊胆战,有的靠着暗算害死了一个又一个竞争...
    洋气杂货店阅读 10,487评论 68 252
  • 志燮,好久不见!时间是一只藏在黑暗中温柔的手,一出神一恍惚之间,斗转星移,自上海FM一别,不知不觉又两年过去了。 ...
    卿云lusindaen阅读 3,287评论 0 2