- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Pleiades Eclipse で protected なフィールドへのアクセス時)
Pleiades Eclipseでprotectedなフィールドへのアクセス時のコンパイルエラーについて
このQ&Aのポイント
- Pleiades Eclipseでprotectedなフィールドへのアクセス時にコンパイルエラーが発生しません。
- Eclipseのバグか設定で変更可能か調査結果を教示してください。
- Eclipse3.5(JREなし版)を利用して開発中ですが、protectedフィールドへのアクセス時に赤線が出ず困っています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> protectedフィールドは「パッケージの異なるクラスからアクセスする > ことができない」という制限が設けられている。ただし、パッケージが > 異なっていても「サブクラスからのアクセス」は許可されている。 参考サイトより 明示的にパッケージを指定していないのであれば, 同一のデフォルト・パッケージとなるので, protectedフィールドにアクセスできて問題はありません.
お礼
ご回答ありがとうございます。 同一パッケージからアクセスできるのは、 デフォルトアクセス修飾子だけと思いこんでおりました。 たしかにそれならばコンパイルエラーにならないのは理解できました。 しかし、実際に f1 に、a.f1 = 10; とアクセスしている箇所で、 java.lang.IllegalAccessError: tried to access field となってしまい、実行時エラーとなります。 フレームワークに SAStruts + S2Container を使用しているのですが、 DIの関係で実行時エラーになってしまっているのですかね、、、