gpt4 book ai didi

java - 如何从外部类的main方法调用匿名类的方法

转载 作者:行者123 更新时间:2023-11-29 03:01:25 24 4
gpt4 key购买 nike

我是 Java 的新手,正在尝试学习匿名类的概念。有人可以告诉我如何从 LocallClassExample 的主要方法调用“awesomeMethod”吗?

public class LocalClassExample {

interface Awesome {

public void awesomeMethod();
}

class AwesomeClass {

public int finalInt= 10;

Awesome a1 = new Awesome() {

@Override
public void awesomeMethod() {
System.out.println(finalInt);
}
};
}

public static void main(String[] args) {

}
}

最佳答案

考虑一下:

new AwesomeClass().a1.awesomeMethod();

将在 的新创建实例的成员变量 a1 上调用方法 awesomeMethod()(这是 Awesome) >AwesomeClass.

一旦您的 main 在您的 AwesomeClass 之外,它就会变得更加棘手 - 一旦它在包之外就更是如此。在这些情况下,您必须提供像

这样的 setter/getter
public Awesome getAwesome() { 
return a1;
}

调用时仍会执行匿名类中定义的方法。

关于java - 如何从外部类的main方法调用匿名类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34612469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com