保護された修飾子を使用すると、そのパッケージ内および他のパッケージのサブクラスからメンバーにアクセスできるようになります。
保護されたメンバーはすべてのサブクラスで使用できますが、パッケージ外のコードによるアクセスからは保護されたままです。
例は、protected の効果をよりよく理解するのに役立ちます。
この例では、インスタンス変数が保護されるように Book クラスが変更されています。
ExtBook という名前の Book のサブクラスを作成します。
ExtBook.
ExtBook は、発行者名を保存するフィールドを追加します。
ExtBook にもいくつかのアクセサー メソッドがあります。
2 つのクラス (ExtBook と ProtectDemo) は bookpackext パッケージ内にあります。
ExtBook は Book を拡張します。これにより、保護された Book メンバーに、異なるパッケージ内にある場合でもアクセスできるようになります。
ExtBook は、タイトル、作成者、pubDate などの保護されたメンバーに直接アクセスし、これらの変数のアクセサー メソッドを作成できます。
ProtectDemo クラスでは、ProtectDemon は Book.
books[0].title = "テストタイトル"; 行からコメントを削除すると、アクセス制限によりプログラムはコンパイルされません。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3