【发布时间】:2013-12-18 10:20:19
【问题描述】:
考虑:
package test;
class Same {
void method() {
System.out.println("outer");
}
}
public class Main {
class Same {
void method() {
System.out.println("middle");
}
}
public static void main(String[] args) {
new Same().method(); // Compile time Exception: No enclosing instance of type Main is accessible
}
}
我知道内部类“遮蔽”了外部类“相同”,因此会出现编译错误。我想知道是否可以在 Main 中创建一个“外部相同”的实例。如果是,如何?谢谢。
附言感谢您的回答,但是,请先尝试您建议的代码。另外,我知道如何更改代码以使其工作,我需要了解当前情况而不进行任何更改(例如将类保存在不同的文件中)。
【问题讨论】:
标签: java inner-classes shadowing