1.接口的定义
提到接口,相信大家最先想到的就是USB接口。 我们可以通过现实中的USB接口来引申出计算机中的接口。现实中的USB只要是符合计算机接口这个规格的都可以插入并扫描出来,显然就是符合这个接口的规定就可以使用,那在java中接口就是:多个类的公共规范,是一种引用数据类型。
2.接口的语法规则
2.1接口的关键字
接口的关键字是:interface
即:定义一个接口IMy
public interface IMy{
}
命名接口的时候一般会在接口的开头加一个大写的I
2.2接口内部语法
接口作为一个规范那它的内部能否像类一样规定变量以及方法之类的呢?
我们一个一个列举出所有的成员:
成员变量:可以定义成员变量但这个成员变量默认是public static final修饰的
因为是默认修饰所以可以省略一般情况下建议都省略,这样符合阿里编码规范。
成员方法:
*构造方法:接口中不允许拥有构造方法
*普通方法:接口中可以拥有普通方法,但是不能对普通方法进行实现
*抽象方法:接口中可以拥有抽象方法默认为public abstract修饰
*静态方法:如果想在接口中实现普通方法就可以用static修饰普通方法将它变成静态方法此时就可以对方法进行实现
静态代码块:接口中不允许拥有静态代码块
以上内容要牢记
3.接口的使用
先抛出一个疑问这个接口能直接使用吗?结果是显然的在它的内部方法都没有直接实现在很大程度上它是不能够直接使用的,因此接口不能被实例化
那有了接口之后我们怎么使用它呢?
类和接口可以通过关键字implements直接建立联系
但请注意:在用一个类联系接口的时候必须要实现接口内部的方法,否则会报错
或者当作一个抽象类使用
1.实现多个接口
在Java中是不支持多继承的,但是一个类可以实现多个接口
可以通过,隔开 同时实现多个接口
这就代表着这个类拥有了两个接口的标准。
但同时要注意必须要将每个接口的抽象方法都要实现,否则只能当作抽象类使用
4.接口的继承
Java中可以实现接口继承,比如接口A和接口B之间用extends关键词连接之后就可以得到一个新的接口C,同时继承了接口A和接口B的规范 。
interface A {
}
interface B {
}
interface C extends A, B {
}
同样在使用接口C的时候还需要重写A和B的所有抽象方法