我有關於Java內部類的問題。與其他頂級類同名的Java內部類
有沒有一種方法可以從定義內部類A的頂級類Main中訪問頂級類A?
下面的示例代碼演示問題:
class A { // Outer Class A
{
System.out.println("A outer");
}
}
class B { // Outer Class B
{
System.out.println("B outer");
}
}
public class Main {
class A { // Inner Class A
{
System.out.println("A inner");
}
}
public void newA() {
class A { // Local Class A
{
System.out.println("A local");
}
}
new A();
}
public static void main(String[] args) {
new Main().newA(); // prints "A local"
new Main().new A(); // prints "A inner"
//new A(); // compiler error: No enclosing instance of type Main is Accessible.
new B(); // but this works and prints "B outer"
}
}
儘量在包之間重用類名。這很可能導致混淆。 – 2011-05-05 13:04:54