問題
複数のパッケージを作成します。mypackage1とmypackage2の2つのパッケージがあります。
MyClassというクラスをmypackage1に作成し、protectedなメソッドや変数を追加します。
mypackage2内の別のクラスからmypackage1のMyClassのprotectedメンバーにアクセスし、結果を表示します。
ヒント
Javaでは、同じパッケージ内であっても、protectedメンバーには直接アクセスできません。ただし、サブクラスを介してアクセスすることができます。以下は、mypackage1
とmypackage2
の2つのパッケージがあり、MyClass
クラスがmypackage1
にあり、その中にprotectedメソッドや変数がある場合の一般的な手順です。
mypackage1
内のMyClass
でprotectedメソッドや変数を作成します。mypackage2
内の別のクラスで、mypackage1
のMyClass
を継承します。- 継承したクラス内で、
mypackage1
のMyClass
のprotectedメンバーにアクセスします。
注意すべきは、同じパッケージ内でもprotectedメンバーへの直接アクセスは許可されないが、サブクラスを通じてのアクセスは可能であるという点です。
→解答例