java接口如何调用
调用 Java 接口的方法
定义接口
在 Java 中,接口是一种抽象类型,用于定义方法签名但不包含实现。接口通过 interface 关键字定义:
public interface MyInterface {
void myMethod();
}
实现接口
类可以通过 implements 关键字实现接口,并必须提供接口中所有方法的具体实现:
public class MyClass implements MyInterface {
@Override
public void myMethod() {
System.out.println("Method implementation");
}
}
通过实例调用接口方法
创建实现类的实例,并通过接口类型引用调用方法:
MyInterface obj = new MyClass();
obj.myMethod(); // 输出: Method implementation
匿名类实现接口
可以直接通过匿名类实现接口并调用方法,无需显式定义实现类:
MyInterface obj = new MyInterface() {
@Override
public void myMethod() {
System.out.println("Anonymous implementation");
}
};
obj.myMethod(); // 输出: Anonymous implementation
使用 Lambda 表达式(Java 8+)
如果接口是函数式接口(仅包含一个抽象方法),可以用 Lambda 表达式简化实现:
MyInterface obj = () -> System.out.println("Lambda implementation");
obj.myMethod(); // 输出: Lambda implementation
接口默认方法和静态方法(Java 8+)
接口可以包含默认方法(default 修饰)和静态方法(static 修饰),调用方式如下:
public interface MyInterface {
default void defaultMethod() {
System.out.println("Default method");
}
static void staticMethod() {
System.out.println("Static method");
}
}
// 调用默认方法
MyClass obj = new MyClass();
obj.defaultMethod(); // 输出: Default method
// 调用静态方法
MyInterface.staticMethod(); // 输出: Static method
多接口实现
一个类可以实现多个接口,需分别提供所有接口方法的实现:
public interface InterfaceA { void methodA(); }
public interface InterfaceB { void methodB(); }
public class MyClass implements InterfaceA, InterfaceB {
@Override public void methodA() { System.out.println("A"); }
@Override public void methodB() { System.out.println("B"); }
}
// 调用
InterfaceA a = new MyClass();
a.methodA(); // 输出: A
InterfaceB b = new MyClass();
b.methodB(); // 输出: B
接口继承
接口可以继承其他接口,子接口会包含父接口的所有方法:

public interface Parent { void parentMethod(); }
public interface Child extends Parent { void childMethod(); }
public class MyClass implements Child {
@Override public void parentMethod() { System.out.println("Parent"); }
@Override public void childMethod() { System.out.println("Child"); }
}
// 调用
Child obj = new MyClass();
obj.parentMethod(); // 输出: Parent
obj.childMethod(); // 输出: Child






