什么是接口
在Java中不直接支持多继承,因为会出现调用的不确定性,所以ava将多继承机制进行改良,在Java中变成了多实现。一个类可以实现多个接口,一个接口可以继承多个接口
interface IA{}
interface IB{}
interface IC extends IB,IA{} //语法正确,类不允许多重继承,接口允许多重继承,其中IC中的方法等于IA+IB
接口是一种特殊的抽象类,接口只能被abstract或者public修饰。实际上从语法的角度上说,外部接口还允许package范围限定,但是跨包不能访问,所以不使用
1、接口中没有构造器方法,有则语法报错
public interface IA{
public IA{}//语法错误
}
2、没有属性,只能定义常量
public interface IA{
private int agfe;
}
3、可以包含抽象方法,也可以没有抽象方法,从JDK1.8开始允许在方法前添加关键字default定义方法的默认实现
interface IA{
//允许接口中没有方法
private int age;
}
interface IB extends {
default void ss(){
System.out.println("这个接口中提供的方法默认实现");
}
}
class IBImpl implements IB{
public void dd(){
System.out.println("这个方法可以不定义,如果修改重新定义也可以覆盖默认方法");
}
]