一,接口的概念
笔记本USB接口 接口属于一种标准,公共的行为规范标准,只要符合规范标准就可以通用
在JAVA中,接口可以看作是:多个类的公共规范,是一种引用数据类型
二,语法规则
1.接口是使用 interface方法来修饰的
2.接口当中不能有被实现的方法,意味着只能有抽象方法。但是两个方法除外:一个是static修饰的方法 一个是default修饰的方法。
3.接口中的抽象方法都是 public abstarct修饰的
4,接口当中的成员变量默认都是public static final 修饰的
5,接口不能进行实例化
6.类和接口之间的关系,可以使用implements来进行关联
7,接口也是有对应的字节码文件的
接口的定义格式与定义类的格式基本相同,将class关键字换成interface关键字,就定义了一个接口,
public interface接口名称{
//抽象方法
public abstract void method1( );//public abstract是固定搭配,可以不写
public void method2( );
abstract void method3( );
void methed4( );
//在接口中上诉写法都是抽象方法
}
三,接口特性
1.接口类型是一种引用类型,但是不能直接new接口的对象
2.接口中的每一个方法都是public的抽象方法,即接口中的方法会被隐式的指定为public abstract
只能是publuic abstract,其他修饰符都会报错)
3.接口中可以含有变量,但是接口中的变量会被隐式的指定为public static final变量
4.接口中不能有静态代码块和构造方法
5,接口虽然不是一个类,但是接口编译完成后后缀也是.class
6,如果类没有实现接口中的所有抽象方法,则类必须设置为抽象类
7,jdk8中:接口中还可以包含default方法
四,实现多个接口
在java中,类和类之间是单继承的,一个类只能有一个父类,即Java中不支持多继承,但是一个类可以有一个接口。下面通过类来表示一组动物
另外我们再提供一组接口,分别表示“会飞的,会跑的,会游泳的'
为什么我们说接口解决了JAVA的继承问题
这3个方法 如果写在Animal这个类当中不好 因为不是所有的动物都具备这些功能,
所以我们就把它封装成了接口。如果封装成了类,不行,JAVA不能继承多个类
B拓展了A的功能
B接口 不仅仅具备了B自己的 功能,而且还具备了A这个接口的功能。
两个关系
1.类和接口之间的关系-----implements 实现
2,接口和接口之间的关系---extends 拓展
接口之间的继承相当于把多个接口合并在一起
五,接口使用实例
表示当前的类是可以进行比较的
比较器 class AgeComparator implement Comparator<student>{
}