0

aa と bb という名前の 2 つのパッケージで構成される demo という名前のプロジェクトがあります。

パッケージ aa には、修飾子として保護されたメソッドを持つパブリック クラス One があります。

現在、他のパッケージ bb には、パッケージ aa クラス One 保護されたメソッドにアクセスするパブリック クラス two があります。

それがどのように行われるかアドバイスしてください..!

4

4 に答える 4

3

protectedメソッドは、同じクラス、同じパッケージのクラス、およびそれを拡張するクラスでのみ表示されます

于 2012-08-09T09:08:06.000 に答える
3

継承するまで、別のパッケージのクラスから保護されたメンバー/メソッドにアクセスすることはできません。

次のオプションがあります。

  1. public Class Two extends One
  2. クラス 1 とクラス 2 を同じパッケージに追加します。
于 2012-08-09T09:08:57.567 に答える
1

保護されたメソッドは、派生クラス、または同じパッケージ内のクラスでのみ表示されます。
保護されたメソッドは別のクラスにあるため、次の2つのオプションがあります。

  1. アクセス指定子をに変更しますpublic
  2. 指定子を持つクラスからusingクラスを導出しprotectedます。class Two extends One

3番目のオプションは、クラス2の保護されたメソッドを再現することです。これは推奨されておらず、常に可能であるとは限りません。たとえば、メソッドがクラス1にプライベートなメンバーを処理する場合です。

于 2012-08-09T09:09:58.137 に答える
0

Jigar と SL Barth の言うことは正しいです。つまり、派生クラスまたは同じパッケージ内のクラスからのみアクセスできます。

詳細については、Java の公式ドキュメントに、メソッドのアクセシビリティと可視性が非常に明確に説明されています。

クラスのメンバーへのアクセスの制御

于 2012-08-09T09:13:27.600 に答える