我想创建类B
的实例,该实例不属于A
的内部类的一部分。如何在java中使用相同的名称类实例
我该如何做到这一点?我希望两个B
类的课程名称保持不变。 packageName.B
:B类,即com.mypackage.mysubpackage.B
为外B
和com.mypackage.mysubpackage.A.B
为内B.
我想创建类B
的实例,该实例不属于A
的内部类的一部分。如何在java中使用相同的名称类实例
我该如何做到这一点?我希望两个B
类的课程名称保持不变。 packageName.B
:B类,即com.mypackage.mysubpackage.B
为外B
和com.mypackage.mysubpackage.A.B
为内B.
使用完整的合格的名称。
这不会工作如果类是在未命名(默认)包(即,如果没有package
声明其.java
文件的顶部)。这是另一个不使用未命名包的另一个原因(即所有的类都应该在一个已命名的包中)。
您可以使用B
完全合格的名称总是指它的
public class Sample {
public static void main(String[] args) {
A a = new A();
a.show();
}
}
class A {
class B {
public void show() {
System.out.println("hello");
}
}
public void show() {
B b = new B();
b.show();
}
}
class B {
public void show() {
System.out.println("hellohello");
}
}
使用要创建实例的类的完整标识符(没有import
语句)。
yourPackage.B variable = new yourPackage.B();
与下面的代码替换main方法:
public static void main(String[] args) {
A a = new A();
a.show();
//For Outer Class
B bOuter =new B();
bOuter.show();
//For Inner Class
A.B bInner=new A().new B();
bInner.show();
}
使用完全合格的名称来自中相同的类名称冲突保持距离。 例如packageName.A.B
和packageName.B
所以_inside_你想创建一个'外'类B的实例吗? – 11684 2013-02-11 13:27:39