抽象类和接口的异同

抽象类

1.抽象类用abstract来修饰,它在关键字class前面。
2.抽象类无法实例化。
3.类的功能仍然存在,他的字段,方法和构造方法都以相同的方式进行访问。
4.如果一个类中含有一个抽象方法,类也必须是抽象的。抽象方法不需要定义,并且它的签名以分号结束,不用花括号。
5.任何一个子类必须覆盖这个抽象方法,或者将他继续声明为抽象方法。
6.抽象方法不能有方法体。

接口

1.接口的关键字是interface。
2.接口默认就是抽象的。当需要声明一个接口的时候不需要用abstract来修饰。
3.一个接口可以用来继承另外一个接口,和一个类继承自另一个类的方法相同。关键字用extends,并且子接口要继承父接口的所有方法。
4.接口可以多继承,以逗号隔开。
5.接口不能包含示例变量。接口中唯一能出现的变量的变量必修被static和final修饰,也就是只能出现常量,不能有变量。
6.接口中的每个方法都默认为是抽象的,所以不需要关键字abstract。接口中的方法默认为是public的。
7.接口不能包含构造方法。接口中的所有方法都是抽象的。
8.接口不能被类继承;只能被类实现。
9.如果一个类没有实现接口中的所有行为,这个类就必须声明为抽象类,需要用abstract修饰。
10.类只可以继承一个父类,但可以实现多个接口。
11.实现接口中的方法时需要注意类的权限。

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

推荐阅读更多精彩内容

  • 相同点 * 都不能被直接实例化,都可以通过继承实现其抽象方法。 * 都是面向抽象编程的技术基础,实现了诸多的设计模...
    小魏i阅读 1,722评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,951评论 18 399
  • 你很清楚的知道什么时候用抽象类,什么时候用接口么?p.s. 多文字预警! 1 抽象类和接口简介 1.1 抽象类 ...
    Sharember阅读 6,908评论 9 55
  • 原文链接: 深入理解Java的接口和抽象类 - 海 子 - 博客园 对于面向对象编程来说,抽象是它的一大特征之一。...
    kristine阅读 3,897评论 0 8
  • 我就是一只小小的蜗牛,爬啊爬得慢。参加马拉松活动,也有那么些时日了,突然发现我落下了那么多篇,肠子都侮青了。那几天...
    乐无彩阅读 2,738评论 0 0