方法本地内部类
时间:2020-03-05 18:58:06 来源:igfitidea点击:
public class Test { public static void main(String[] args) { } } class Outer { void aMethod() { class MethodLocalInner { void bMethod() { System.out.println("Inside method-local bMethod"); } } } }
有人可以告诉我如何从bMethod打印消息吗?
解决方案
回答
这可能会让我们入门,(我没有任何方便的测试对象)。注意修改后的构造函数语法:
http://java.sun.com/docs/books/tutorial/java/javaOO/nested.html
回答
我们只能在aMethod
中实例化MethodLocalInner
。也一样
void aMethod() { class MethodLocalInner { void bMethod() { System.out.println("Inside method-local bMethod"); } } MethodLocalInner foo = new MethodLocalInner(); // Default Constructor foo.bMethod(); }
回答
在类MethodLocalInner声明之后的方法aMethod中,我们可以例如执行以下调用:
new MethodLocalInner().bMethod();
回答
为什么不只在aMethod中创建一个MethodLocalInner实例,然后在新实例上调用bMethod呢?