たとえば、私は持っていA.java
ます。私がA.java
持っている:
public class A {
// normal
}
class B { // cannot declare: public class B
}
そして、と同じパッケージでA.java
。私は作成C.java
して宣言します:
public class C {
public void methodC() {
A a = new A();
B b = new B(); // no error -> B is a public class
}
}
ファイルに新しいクラスBを作成した場合C.java
。C.java
Cは、ファイルではなく、ファイル内のクラスBを参照しますA.java
。
class B {
}
public class C {
public void methodC() {
B b = new B(); //this B refer to C.java rather than A.java
}
}
それで、私はここでいくつかの問題を見ました:同じパッケージに、2つの同じクラスがあります。それで、私が作成するときD.java
、どのクラスBが参照されるかをどうやって知ることができますか?
また、クラスAとクラスCの外で宣言した場合、実際のクラスBの種類は何かという質問があります。この点で、私は非常にイライラします。
ありがとう :)