在Java中,接口本身不能直接实例化,因为接口定义了一组方法,但没有实现它们。要使用接口,您需要创建一个实现了该接口的类,然后实例化那个类。不过,Java 8引入了Lambda表达式和函数式接口,允许您以简洁的方式实现接口的部分或全部方法。
通过实现接口的类实例化
public interface RequestHandler {void onRequest(String receive, String toResponse);}public class RpcServer {private RequestHandler handler = new RequestHandler() {@Overridepublic void onRequest(String receive, String toResponse) {System.out.println(receive);System.out.println(toResponse);}};public RequestHandler getHandler() {return handler;}public void setHandler(RequestHandler handler) {this.handler = handler;}public static void main(String[] args) {RpcServer server = new RpcServer();server.getHandler().onRequest("Hello World!", "Response from server");}}
使用匿名内部类实现接口
public interface Test1Interface {int aa = 1;void run();}public class Test1 {private Test1Interface test1Interface = new Test1Interface() {@Overridepublic void run() {System.out.println("Running...");}};public static void main(String[] args) {Test1 test1 = new Test1();test1.test1Interface.run();}}
使用Lambda表达式实现接口(Java 8及以后版本):
public interface ISay {void sayHello();}public class Program {public static void main(String[] args) {ISay say = () -> System.out.println("Hello java!");say.sayHello();}}
请注意,接口中定义的变量默认是`public static final`的,这意味着它们属于接口本身而不是接口的实例。您可以在实现接口的类中定义自己的变量和方法。

