与其他顶级类同名的Java内部类 [英] Java inner class with the same name as other top level class
本文介绍了与其他顶级类同名的Java内部类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个与Java内部类有关的问题.
I have question related to Java inner classes.
是否可以从定义内部类A的顶级类Main访问顶级类A?
Is there a way to access top level class A from top level class Main that define inner class A?
下面是演示问题的示例代码:
Below is sample code demonstrating the problem:
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"
}
}
推荐答案
使用完全限定的类名:
new com.mypackage.A();
这篇关于与其他顶级类同名的Java内部类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文