パッケージ内の私のメインメソッドは、すべてパブリックであるにもかかわらず、これは私のコードの例です。私のmainメソッドは、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(boolean型のフラグ)メソッドに見てきたが、私はそれのほとんどを理解していなかったと私はjava.lang.reflect.AccessibleObjectをインポートした後、それはまだ未定義でした。
これは私の実際のコードではありません。私はこれをあいまいにして、この問題にぶつかる他の多くの人にとって答えがより有用になるようにしたかったのです。私の方法はすべて体にコンクリートであるが、体は問題ではない。すべてが同じパッケージに入っていても、テスタークラスは別のパッケージになければなりません。
これは実際のコードですか? bodyを持たないメソッドは、抽象クラスまたはインタフェースでのみ動作し、AObjectやBObjectのような通常のクラスでは動作しません。これらの問題のためにクラスがもはやコンパイルされていない可能性があります。また、テスターではまだクラスのearlerバージョンで作業していますか? –
コンパイルされていない場合、どうすれば "うまく動作する"ことができますか? – c0der
良い点。私はそれを変更しました –