Java接口示例
public interface MyInterface {
public String hello = "hello";
public void sayHello();
}
java接口使用关键词interface声明。Java接口可以被声明为public。
下面的MyInterfaceImpl类实现了上面的MyInterface接口:
public class MyInterfaceImpl implements MyInterface {
public void sayHello() {
System.out.println(MyInterface.hello);
}
}
一个Java类实现了一个Java接口,就可以使用Java类的实例作为该接口的实例:
MyInterface myInterface = new MyInterfaceImpl();
myInterface.sayHello();
实现多个接口
一个Java类中可以实现多个Java接口。类必须实现所有所实现接口声明中的所有方法:
public class MyInterfaceImpl
implements MyInterface, MyOtherInterface {
public void sayHello() {
System.out.println("Hello");
}
public void sayGoodbye() {
System.out.println("Goodbye");
}
}
接口变量
Java接口可以包含变量和常量。
所有的变量在接口中都是公共的。
接口方法
一个Java接口中可以包含一个或多个方法的声明。
接口中可以包含静态方法。
使用default关键词将方法标记为默认方法:
public interface ResourceLoader {
Resource load(String resourcePath);
default Resource load(Path resourcePath) {
}
}
类可以通过显示实现接口默认方法来覆盖接口默认方法的实现。
接口与继承
Java接口可以从另外一个Java接口中继承。可以使用extends来指定继承。示例:
public interface MySuperInterface {
public void saiHello();
}
public interface MySubInterface extends MySuperInterface {
public void sayGoodbye();
}