1、接口是用关键字interface定义的,和类比较相似,但是不是类。
2、接口内部如果有变量,那么变量隐性的会被指定为public static final变量,没有其他类型
3、接口内部如果有方法,可以有三种
抽象方法、默认实现方法、静态方法
4、接口无法创造实例
(1)对于接口来说,接口可以被接口继承,并且可以实现一个接口继承多个接口(多继承),同样使用extends关键字表示继承
public interface myInterface extends Name1,Name2
{
public void someFun();//这是个抽象方法,但可以不写abstracts,因为前面已经声明了这是一个接口
}
//Name1,Name2都是接口,这里是一个接口继承两个接口
(2)对于类来说,接口可以被类实现,且一个类可以实现多个接口。这里类又被分为两种情况。
1、如果是抽象类实现接口,可以不全部实现(部分实现)接口中的方法。
2、如果不是抽象类实现接口,那么必须全部实现接口中的方法。
使用关键字implements表示类实现接口。
//这个类不是一个抽象类,因此,myInterface中的所有方法都要进行实现
public class myClass implements myInterface{
... //前面myInterface继承了Name1,Name2中的方法,需要进行实现,
public void someFun(){
...//具体实现someFun()方法
}
}
5.标记接口,即没有任何方法的接口
public interface yourInterface
{}
建立一个公共的父接口,也可以向类中添加数据类型
B站韩顺平java学习视频截图
实现接口可以理解为对java单继承机制的一种补充
接口具有多态性
1.多态参数
接口类型的变量可以指向实现了接口类型的类对象实例
2.多态数组
接口类型的变量数组可以接受实现了接口类型的类对象实例
接口多态存在传递属性,A接口继承了B接口,C类实现了A接口,相当于C类必须实现B接口