java接口interface详解

1.引入接口

Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

定义接口的语法:【public】interface 接口名

1)接口比抽象类还要抽象,其中只能有抽象方法(java8可以有不是抽象的方法)

2)接口中没有构造器,不能创建对象

3)接口的命名: 一般是字母 I 开头,然后最后加上 able。eg: Iwalkable

4 )接口和类一样,编译后生成一份字节码

5)接口中的成员

###成员变量:默认是全局静态常量,默认使用public static final 来修饰的

###方法:默认是公共抽象方法,使用public abstract修饰的

###内部类(接口):默认是公共静态内部类/接口(接口是特殊的类),使用public static修饰的

java接口interface详解

2.接口的特点

1)接口没有构造器,不能实例化。(内部不存在接口的构造器概念)

2)接口只能继承接口不能继承类,且接口可以是多继承的(类是单继承的)

java接口interface详解
接口的继承

3)接口和接口之间只能是继承:extends

4)接口和类之间只存在实现关系implement。一个类可以实现多个接口

实现类:接口只定义一些方法,不去实现,使它的实现类必须覆盖接口中的方法去实现。

3.接口的应用

用实现类充分展示多态关系:面向接口编程

1)单实现关系

java接口interface详解
实现关系

由于接口中的抽象方法默认为:public,所以在实现类覆盖接口中的方法的时候必须写修饰符:public

2)多实现关系

java接口interface详解
多实现关系

注意:若同时用到两个接口中的方法,则用类名声明对象,这是没有多态的功能(一般很少出现这种情况)

4.接口与抽象类的区别

如果接口和实现类能完成同样的功能尽量使用接口

java接口interface详解

5.面向接口的编程


java接口interface详解
谢谢阅读!