接口简述
API。更多的是一种规范,定义方法签名。
只规定了方法的存在,但方法内部如何实现,API并不知道。
和接口类的区别
- 类和接口的区别
- 抽象类的更多目的是继承,接口目的是实现功能,如果A类想用到B接口的一个功能,就可以让这个A类实现这个接口
实现
四大语言类型之一
public interface xx{
常量
抽象方法
默认方法(jdk1.8开始)
}
接口的使用
- 接口中定义成员变量,默认使用public static final
public static final int A=15 int B=20//这里B也是成员变量(自定义常量),成员变量必须有初值,且无法被修改
- 接口中定义一个的方法是抽象方法:
public abstract void methodA(); void methodB(); //这里methodA和methodB都是抽象方法,pulic abstract为默认出现
- 接口中也可以定义默认方法(default修饰)
default void methodC(){ //code }
- 无法被实例化(不能直接创建接口对象)
-
接口的继承
- 接口可以多继承
- 接口可以继承接口
- 和抽象类作用类似,抽象类趋向于类,接口类趋向于功能。
- 接口向下转型成实现类,实现类可以向上转型成接口,可以实现多态
- 当然,接口中的defualt(默认方法)也可以进行重写
- 实现类对象可以直接复制给父接口
- 一个接口可以继承多个其他接口
- 如果继承的两个父类接口有同名的方法,子类中就要进行重写,否则就会报错
InterA ia=new InterImp(); InterB ib=new InterImp(); //这里InterA和InterB为接口,InterImp为继承了InterA和InterB的子类