我有一个样本代码来解决其基于inner
类:益智上内部类和类隐藏
package inner;
class A {
void m() {
System.out.println("Outer");
}
}
public class TestInner {
public static void main(String[] args) {
new TestInner().go();
}
private void go() {
new A().m();
class A{
void m(){
System.out.println("Inner");
}
}
new A().m();
}
class A{
void m(){
System.out.println("Middle");
}
}
}
通过上述示例代码给出的输出为:
Middle
Inner
我的问题是,鉴于我不想使用包名称来创建对象,我如何打印输出为:
Outer
Inner
你有2个小时。没有拼写错误。 – sp00m 2012-04-20 08:00:32
当且仅当从现在起绝对必要时,请使用粗体。 – Lion 2012-04-20 08:02:08
这是一个非常人为的难题,我没有看到它的有趣之处,因为它只是关于命名空间。在编译单元中遇到第二个包 - 私有类之前,您将不得不查看几百万行生产级Java。 – 2012-04-20 09:13:54