したがって、クラスフィールドを返すこのメソッドを備えたこのクラス(「A」と呼びましょう)がget()
あり、別のクラス(「B」)からアクセスしたいと考えています。重要: どちらのクラスもabstract
. これらのクラスは同じですpackage
(package private
すべてのA
とB
メンバー)。Main
クラスにはパッケージがありません (または、より良いのは、デフォルトのパッケージです) 。
【前:ねじれた無駄な説明】
B
クラスからA
のget()
メソッドにアクセスする必要があります。
試してみました:
1) 位置付けられたルート オブジェクトAobj.get()
から始まる非静的呼び出しですが、静的呼び出しが必要なようです (奇妙なことに、どのメンバーも ではありません)。main
static
2)静的にアクセスしようとしましたが、Cannot make a static reference to the non-static field
エラーが発生しました(もちろん)。
...だから私は立ち往生しており、まだアクセス構文エラーが発生しています。何か提案はありますか?
編集 :
だから私は終わりました。ここで、エラーを説明しようとします。
基本的Main
に、問題は、パッケージ内のクラスからクラス(デフォルトパッケージ)にあるオブジェクトにアクセスしたかったことでした。だから私は可視性の問題を抱えていました。
他の状況では、クラスをインポートすることで解決していましたが、デフォルトのパッケージにあるクラスをインポートできないことがわかったので、パッケージを作成し、クラスにクラスmain
をインポートしました。Main
B
私が犯し続けた最悪の間違いは、それ自体から開始にアクセスしなければならないと 考えていたことでした。main.main(String[])... etc ...Aobj
main
実際、Stephen C が指摘したように:
これは、パッケージの状況に関係なく、また他のクラスを通過するパスに関係なく当てはまります。
最後に、コード例...正直に言うと、コードは私がこの質問を書いた日とは大きく異なります.成し遂げる。(私のせいです。)今回は自分自身をきちんと説明したかっただけです。
助けてくれたみんなに感謝します。