public interface A {
//成员变量(常量)
//成员方法(抽象方法)
}
示例:
假设一个类继承了学生类,但是这个类还想兼职别的工作,那就可以使用接口来实现
class Student{} //学生类
class A extends Student implements Waiter, Driver {} //一个类继承了学生类,同时也实现了服务员和司机类
interface Waiter {} //服务员接口
interface Driver {} //司机接口
public class Test {
public static void main(String[] args) {
Student a1 = new A(); //他可以是学生
Waiter a2 = new A(); //也可以是服务员
Driver a3 = new A(); //也可以是司机
}
}
?一个接口可以同时继承多个接口
public interface C extends B ,A{...}
接口其他注意事项
class Fu{
public void test(){
System.out.println("父类的test执行了");
}
}
interface E{
default void test(){
System.out.println("E接口的test执行了");
}
}
class Zi extends Fu implements E{
}
public class Test {
public static void main(String[] args) {
Zi z = new Zi();
z.test();
}
}
结果:
interface A{
default void test(){
System.out.println("A的test执行了");
}
}
interface B{
default void test(){
System.out.println("B的test执行了");
}
}
class C implements A, B{
@Override
public void test() {
System.out.println("C的test执行了"); //A和B的test方法重复了,重写解决报错
}
}
public class Test {
public static void main(String[] args) {
C c = new C();
c.test();
}
}
结果: