[英]How to make instance with same name class in java
我想創建一個類B
的實例,該實例不是A
的內部類的一部分。
我該如何實現? 我希望兩個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");
}
}
使用B類,即完全合格的名稱com.mypackage.mysubpackage.B
的外部B
和com.mypackage.mysubpackage.AB
的內部B.
您可以使用B
的全限定名來始終引用它: packageName.B
。
如果該類在未命名(默認)包中(即,如果在其.java
文件頂部沒有package
聲明),則此方法將無效 。 這是根本不使用未命名程序包的另一個原因(即,所有類都應位於已命名程序包中)。
使用要創建其實例的類的完整標識符(無import
語句)。
yourPackage.B variable = new yourPackage.B();
將您的主要方法替換為以下代碼:
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.AB
和packageName.B
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.