接口就是一种公共的规范标准,大家都可以使用
Java中的接口更多地体现在对行为的抽象上
接口的特点
类和接口之间不能用继承,而是用实现implements
接口本身就是抽象的,不能用来创建对象,只能用多态的方式来创建对象
接口创建格式:
public interface 接口名{}
- 所以,多态的形式有:具体类多态,抽象类多态,接口多态。后两者使用比较平繁
- 接口的子类要么重写接口中所有的抽象方法,要么自身为抽象类
- 一般在接口后面跟一个Impl,这个类为接口的实现类(子类)
- 接口中的成员变量都是默认被final修饰的,所以接口中没有成员变量,只有成员常量
- 可以通过接口名直接访问接口中的成员变量,所以接口中的成员变量都是默认被static修饰的,且均为public
- 接口没有构造方法
- 子类中写接口的构造方法居然没有报错,为什么?这里就不得不提object类了,object类是所有类的父类,不管你声不声明,只是没有显式地写出来
public class InterImpl extends Object implements Inter{}
,所有的类都继承了Object类,而Object类中只有一个方法:Object(){}
默认无参构造方法,所以在InterImpl类中写无参构造方法,第一句super()继承的是Object类中的构造方法- __接口中只能有抽象方法 __默认带有public abstract修饰符