1.接口使用interface关键字来修饰
2.接口由常量和抽象方法组成
a.常量
:默认接口中所有的成员变量都是省略 public static final
b.抽象方法
:默认接口中所有的成员方法都是省略了public abstract
3.接口不能实例化,因为接口是完全抽象的
如果需要"创建"接口,那么必须使用多态
父类接口指向子类的实现类
4.接口的实现类
使用implement关键字来完成接口的实现
接口实现类的特点
a:
.如果一个类不想要实现一个接口,那么该类也要升级为接口
b:
.如果一个类想要实现一个接口,那么必须实现该接口中所有的抽象方法
5.接口是可以扩展功能的,通过多实现
什么是功能:在java里面就是方法,方法关心的是返回值类型,参数列表,方法名
继承的缺点:如果一个类中有多个方法,表示有多个功能,如果子类继承父类,那么子类必须拥有父类所有的功能,如果有一些功能不想要也不行,不能解决
接口很好的解决了这个问题[接口隔离原则],就是我们可以把每个功能都设计成一个 独立的接口,子类需要的话就实现该接口,不需要的话不实现即可
6.接口可以多继承,即一个接口可以继承多个接口
7.接口是一种规范
8.接口是灵活的
9.类与接口之间的关系
类和类 单继承 不可以实现
类和接口 不能够继承 可以多实现
接口和接口 多继承 不可以实现
10.什么时候使用继承,什么时候使用接口?
当我设计一个非常复杂而又无法实现的类的时候可以使用继承
当我重新开始编写一些简单的功能或者制定一些标准的时候使用接口
开发中一边采用面向接口编程
普通类是模板,抽象类是部分模板,部分规范,接口是规范