Der geschützte Modifikator ermöglicht den Zugriff auf ein Mitglied innerhalb seines Pakets und durch Unterklassen in anderen Paketen.
Ein geschütztes Mitglied kann von allen Unterklassen verwendet werden, bleibt jedoch vor dem Zugriff durch Code außerhalb des Pakets geschützt.
Ein Beispiel kann Ihnen helfen, die Wirkung von protected besser zu verstehen.
Im Beispiel wird die Book-Klasse so geändert, dass ihre Instanzvariablen geschützt sind.
Erstellen Sie eine Unterklasse von Book mit dem Namen ExtBook.
Erstellen Sie eine Klasse namens ProtectDemo, die ExtBook verwendet.
ExtBook fügt ein Feld zum Speichern des Herausgebernamens hinzu.
ExtBook verfügt auch über mehrere Zugriffsmethoden.
Die beiden Klassen (ExtBook und ProtectDemo) befinden sich im Paket bookpackext.
ExtBook erweitert Book, wodurch Sie auf geschützte Book-Mitglieder zugreifen können, auch wenn diese sich in unterschiedlichen Paketen befinden.
ExtBook kann direkt auf geschützte Mitglieder wie Titel, Autor und PubDate zugreifen und Zugriffsmethoden für diese Variablen erstellen.
In der ProtectDemo-Klasse wird der direkte Zugriff auf diese Variablen verweigert, da ProtectDemon keine Unterklasse von Book ist.
Wenn der Kommentar aus den Büchern entfernt wird[0].title = "test title" wird das Programm aufgrund der Zugriffsbeschränkung nicht kompiliert.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3