1、什么是接口
接口相当于抽象类,定义方式、组成部分与抽象类类似
使用interface关键字定义接口
没有构造方法,不能创建对象。
只能定义:公开的静态常量、公开抽象方法。
什么是接口
微观概念:接口是一种能力。
接口的定义:代表了某种能力
方法的定义:能力的具体要求。
经验:Java为单继承,当父类的方法种类无法满足子类需求时,可实现接口扩充子类能力。
接口支持多实现,可为类扩充多种能力。
2、接口与类的异同
与抽象类的异同
相同:
可编译成字节码文件。·不能创建对象。
可以作为引用类型。
具备0bject类中所定义的方法。
·不同:
所有属性都是公开静态常量,隐式使用public static final修饰。·
所有方法都是公开抽象方法,隐式使用public abstract修饰。·
没有构造方法、动态代码块、静态代码块。
3、接口的应用
同父类一样,接口也可声明为引用,并指向实现类对象。
注意:
仅可调用接口中所声明的方法,不可调用实现类中独有的方法
可强转回实现类本身类型,进行独有方法调用
【特殊:通过接口可调用Object中的公开方法】
4、接口的规范
任何类在实现接口时,必须实现接口中所有的抽象方法,否则此类为抽象类。
实现接口中的抽象方法时,访问修饰符必须是public。
5、常量接口
常量接口、标记接口
常量接口将多个常用于表示状态或固定值的变量,以静态常量的形式定义在接口中统一管理,提高代码可读性。
标记接口中没有包含任意成员,仅仅用作标记。
. Serializable
。Cloneable
6、接口回调
常见关系:
类与类:
单继承
extends父类名称。
类与接口:
多实现
implements接口名称1,接口名称2,接口名称n
接口与接口
多继承
extends父接口1,父接口2,父接口n
接口的好处
程序的耦合度降低。
更自然的使用多态。
设计与实现完全分离。
更容易搭建程序框架。
更容易更换具体实现。
总结
什么是接口:
微观:接口是一种能力和约定。
宏观:接口是一种标准。
接口与类的异同:
没有构造方法,仅可定义公开静态常量与公开抽象方法。
接口的应用
Java为单继承,当父类的方法种类无法满足子类需求时,可实现接口扩充子类能力。·
接口的规范
任何类在实现接口时,必须实现接口中所有的抽象方法,否则此类为抽象类。·
实现接口中的抽象方法时,访问修饰符必须是public。
什么是常量接口
将多个常用于表示状态或固定值的变量,以静态常量的形式定义在接口中统一管理。
什么是接口回调
先有接口的使用者,后有接口的实现者。