接口interface

接口定义

当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示,就是接口(interface)。

定义接口使用的关键字不是class,是interface.

对于接口当中常见的成员,而且这些成员都有固定的修饰符。

1. 全局常量:public static final

2. 抽象方法:public abstract

固定修饰符可省略,系统会默认自动帮忙补齐。即可写成 int age; void show1();void show2();

实现

类与类之间是继承关系(extends),类与接口之间是实现关系(implements)。

接口不可以实例化,只能由实现了接口的子类,并覆盖了接口中所有的抽象方法后,该子类才可以实例化。否则这个子类就是一个抽象类。

多实现

在java中,不直接支持多继承,因为会出现调用的不确定性。所以java将多继承机制进行了改良,在java中变成了多实现。即一个类可以实现多个接口。


细节:

一个类在继承另一个类的同时,还可以实现多个接口。

接口的出现避免了单继承的局限性。

接口与接口之间是继承关系,而且接口可以多继承。

原理:多继承取决于方法体,接口没有方法体,所以可以支持多继承。但类不可以,方法体导致运行调用的不确定性。

接口特点

1. 接口是对外暴露的规则

2. 接口是程序的功能扩展

3. 接口的出现降低耦合性(解耦性)

4. 接口可以用来多实现

接口与抽象类的异同点

相同点:

都是不断向上抽取而来的

不同点:

1. 抽象类需要被继承,而且只能单继承;

接口需要被实现,而且可以多实现。

2. 抽象类中可以定义抽象方法和非抽象方法,子类继承后可以直接使用非抽象方法;

接口中只能定义抽象方法,必须由子类去实现。

3, 抽象类的继承是is a 关系。在定义该体系的基本共性内容;

接口的实现是like a 关系,在定义体系的额外功能。 

在不同的问题领域中,有不同的分析方式。

敲黑板的练习:

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

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • 一、 接口 接口在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类...
    YYece阅读 626评论 0 0
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,158评论 0 62
  • 2016年11月4日,成都猿团科技有限公司与武汉客客信息技术有限公司达成战略合作,联合打造KEE.IM协同管理工具...
    猿团阅读 246评论 0 0
  • 什么岁数烦什么神,生活就是生着气活着
    zoe兰阅读 249评论 0 0