例如我有A.java
。在A.java
我: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
}
}
如果我在文件C.java
創造新的B類。 C將參考文件C.java
中的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
}
}
所以,我在這裏看到了一些問題:在同一個包中,會有兩個相同的類。所以,當我創建D.java
時,我怎麼知道哪個B類會被引用?
另一個問題是,當我在A類和C類之外宣佈它時,什麼類型的B類。這一點讓我感到非常沮喪。
謝謝:)
好吧,首先你不能在一個java文件中有兩個公共類。你的c.java永遠不會編譯,因爲你聲明c類和b類都是公共的 – PermGenError
@GanGnaMStYleOverFlowErroR啊,對不起。我用手再次打字,所以我在這裏錯過了這一點。我編輯了我的問題:) – hqt
@GanGnaMStYleOverFlowErroR但是,作爲我的問題,如果它不公開,它可以通過另一個類在另一個文件中調用:(我無法解釋這一點 – hqt