首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从封闭的外部类中调用与匿名类中实现的方法同名的方法?

从封闭的外部类中调用与匿名类中实现的方法同名的方法的方法有两种:

  1. 使用类名.方法名的方式调用:如果封闭的外部类与匿名类属于同一个类或者接口,可以使用"类名.方法名"的方式调用匿名类中的方法。例如,如果封闭的外部类为MainClass,匿名类为AnonymousClass,两者都实现了一个同名的方法testMethod(),可以通过MainClass.testMethod()来调用封闭类中的方法,而通过AnonymousClass.testMethod()来调用匿名类中的方法。
  2. 在匿名类中创建一个新的方法来调用:如果封闭的外部类与匿名类不属于同一个类或者接口,可以在匿名类中创建一个新的方法,然后在该方法中调用匿名类中的方法。例如,如果封闭的外部类为MainClass,匿名类为AnonymousClass,可以在MainClass中定义一个方法callAnonymousMethod(),在该方法中通过AnonymousClass的实例调用匿名类中的方法。

下面是一个示例代码:

代码语言:txt
复制
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()方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券