1.引入接口
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
定义接口的语法:【public】interface 接口名
1)接口比抽象类还要抽象,其中只能有抽象方法(java8可以有不是抽象的方法)
2)接口中没有构造器,不能创建对象。
3)接口的命名: 一般是字母 I 开头,然后最后加上 able。eg: Iwalkable
4 )接口和类一样,编译后生成一份字节码
5)接口中的成员
###成员变量:默认是全局静态常量,默认使用public static final 来修饰的
###方法:默认是公共抽象方法,使用public abstract修饰的
###内部类(接口):默认是公共静态内部类/接口(接口是特殊的类),使用public static修饰的
2.接口的特点
1)接口没有构造器,不能实例化。(内部不存在接口的构造器概念)
2)接口只能继承接口不能继承类,且接口可以是多继承的(类是单继承的)
接口的继承
3)接口和接口之间只能是继承:extends
4)接口和类之间只存在实现关系:implement。一个类可以实现多个接口
实现类:接口只定义一些方法,不去实现,使它的实现类必须覆盖接口中的方法去实现。
3.接口的应用
用实现类充分展示多态关系:面向接口编程
1)单实现关系
实现关系
由于接口中的抽象方法默认为:public,所以在实现类覆盖接口中的方法的时候必须写修饰符:public
2)多实现关系
多实现关系
注意:若同时用到两个接口中的方法,则用类名声明对象,这是没有多态的功能(一般很少出现这种情况)
4.接口与抽象类的区别
如果接口和实现类能完成同样的功能尽量使用接口
5.面向接口的编程
谢谢阅读!