我自己的包中的主要方法只能看到其他包中的一些方法,即使它們都是公共方法。這是我的代碼的一個例子。我的主要方法無法在java中的其他包中看到所有公共方法
package stuff.code;
public class AObject
{
public AObject();
public AObject(String str);
public int getLength();
public int getHeight();
}
package stuff.code;
public class BObject extends AObject
{
public BObject();
public BObject(String str);
}
package stuff.test;
import stuff.code.AObject;
import stuff.code.BObject;
public class tester
{
AObject a = new AObject(); //no red underline
AObject aa = new AObject("some string"); //no red underline
BObject b = new BObject(); //no red underline
BObject bb = new BObject("some string"); //tells me there is no such constructor
b.getLength(); //tells me I need a getLine method in BObject too
}
我看着setAccessible(布爾標記)方法,但我不明白的大部分,它仍然是不確定的我進口java.lang.reflect.AccessibleObject中之後。
這不是我的實際代碼。我想這是模糊的,所以對於遇到這個問題的許多其他人來說,答案會更有用。我的方法都是具體的身體,但身體不是問題。當一切都在同一個包中,但測試儀類必須位於不同的包中時,它運行良好。
這是你的真實密碼?沒有主體的方法只能在抽象類或接口中工作,而不能在像AObject和BObject這樣的普通類中工作。難道是由於這些問題,這些類不再編譯了嗎?在測試中,你還在使用這些類的更新版本嗎? –
如果它甚至沒有編譯,它如何「工作正常」? – c0der
好點。我改變了它 –