一.什么是接口
官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为
我的理解:接口可以理解为一种特殊的类,里面全部是由公有静态变量和公共的抽象方法所组成。接口是解决Java无法使用多继承的一种手段,或者我们可以直接把接口理解为一种抽象类,既接口中的方法必须全部是抽象方法。
二.接口的特点
1.接口可以直接建(选择接口)
2.接口存在的目的是为了规范类,因此接口也不可以被实例化。接口中不允许存在代码块,也没有需要初始化的成员,因此接口没有构造方法(构造器)。
不然会报错
3.接口创建对象的特点
a. 接口不能被实例化 :
只能通过多态来实现
b. 接口的子类(实现类) :
可以是抽象类,也可以是普通类。
对于抽象实现类,可以不用实现接口的所有方法,因为抽象类本身容许存在抽象方法,语法上是通过的。
对于普通实现类,要求实现接口的所有抽象方法。
三.总结
接口可以理解为是配合继承使用的,继承没办法做的事情接口来做,在一定程度上接口也做到了代码的服用以及小部分的共性抽取。更好的说法就是两者相互配合使用,继承一个类实现多个接口,达到强化多态的使用,将多态的使用范围扩大,不局限于父类,不需要每个类都继承父类,只需要实现了接口就可以达到多态的使用,还可以使程序员忘记类型的存在,有了接口之后,类的使用者就不必再关注类型,只需要关注类是否实现接口即可。