从封闭的外部类中调用与匿名类中实现的方法同名的方法的方法有两种:
下面是一个示例代码:
public class MainClass {
public void callAnonymousMethod() {
AnonymousClass anonymous = new AnonymousClass();
anonymous.testMethod(); // 调用匿名类中的方法
}
public static void main(String[] args) {
MainClass main = new MainClass();
main.callAnonymousMethod(); // 调用封闭类中的方法
}
}
interface SomeInterface {
void testMethod();
}
class AnonymousClass implements SomeInterface {
@Override
public void testMethod() {
System.out.println("调用匿名类中的方法");
}
}
在上述代码中,封闭的外部类为MainClass,匿名类为AnonymousClass,它们都实现了SomeInterface接口,并且都有一个同名的testMethod()方法。在callAnonymousMethod()方法中,通过AnonymousClass的实例调用了匿名类中的testMethod()方法。在main()方法中,通过MainClass的实例调用了封闭类中的testMethod()方法。
领取专属 10元无门槛券
手把手带您无忧上云