interface是一种引用类型,称为接口。
这里的A就是一个接口。
如图,接口中的方法,默认全都被public abstract修饰,全都是抽象方法。接口也默认被abstract修饰,它是抽象的。默认的关键字可以不写。
如图,接口中的属性默认被public static final修饰。
jdk 8 中可以在接口中编写默认方法(default,为了减少后续维护和更新中代码量庞大的问题引入)和静态方法。
jdk 9 中可以在接口中编写私有方法。(我这里是jdk 8)
abstract interface A{
public static final String name = "码农狗";
public abstract void a();
public static void b(){
}
public default void c(){
}
}
public class Test implements A{
@Override
public void a() {
}
}
实现接口的类称为此接口的实现类,实现类中必须实现接口中的所有抽象方法,否则,就要把自己声明为抽象类。
接口和抽象类类似,也可以运用多态。
abstract interface A{
public static final String name = "码农狗";
public abstract void a();
public static void b(){
}
public default void c(){
}
}
public class Test implements A,Runnable{
@Override
public void a() {
}
@Override
public void run() {
}
}
接口可以多继承,类不可以多继承。