Java-Modifikatoren

Hier sind ein paar interessante Fakten über Java-Modifikatoren in Java-Programmen verwendet wie Android Apps zu entwerfen. Das Wort Finale viele Anwendungen in Java-Programmen hat. Neben abschließenden Variablen haben, können Sie diese Elemente haben:

  • Abschlussklasse: Wenn Sie eine Klasse deklarieren zu sein Finale, niemand (nicht einmal) kann es verlängern.

  • Endgültige Methode: Wenn Sie eine Methode deklarieren zu sein Finale, niemand (auch nicht Sie) kann es außer Kraft setzen.

Diese Zahlen stellen diese Regeln in die richtige Perspektive. Sie zeigen nicht verlängern kann die Sachen Klasse, weil die Sachen Klasse Finale. Und man kann nicht außer Kraft setzen die Sachen Klasse Zuwachs Verfahren, weil das Zuwachs Methode ist Finale.

Der Versuch, eine endgültige Klasse zu erweitern.
Der Versuch, eine endgültige Klasse zu erweitern.
Der Versuch, eine endgültige Methode außer Kraft zu setzen.
Der Versuch, eine endgültige Methode außer Kraft zu setzen.

Sie können Java anwenden geschützt Stichwort an Mitglieder einer Klasse. Dies geschützt Stichwort hat ein bisschen seltsam, einige immer schien. Im allgemeinen englischen Sprachgebrauch, wenn Ihr Hab und Gut sind "geschützt" Ihr Hab und Gut sind nicht so verfügbar, wie sie normalerweise sein würde.

Aber in Java, wenn Sie Vorwort ein Feld oder eine Methode mit der geschützt Stichwort, stellen Sie das Feld oder eine Methode ein bisschen mehr zur Verfügung, als es standardmäßig wäre, wie in der Abbildung dargestellt.

Zugriffsmodi für Felder und Methoden.
Zugriffsmodi für Felder und Methoden.

Ein Standardelement einer Klasse (ein Mitglied, dessen Erklärung enthält nicht die Worte Öffentlichkeit, Privat-, oder geschützt) Kann von jedem Code innerhalb des gleichen Paket wie dieser Klasse verwendet werden.

Das gleiche gilt etwa eine geschützt Klassenmitglied. Aber darüber hinaus ein geschützt Mitglied ist außerhalb der Klasse des Pakets durch eine Unterklasse der Klasse enthalten, die geschützt Mitglied geerbt.

Huh? Was bedeutet, dass im letzten Satz, über geschützt Mitglieder? Um die Dinge konkret zu machen, ist diese Zahl zeigt Ihnen die sorglose Existenz, in der zwei Klassen im selben Paket sind. Mit beiden Sachen und Meine Sachen im gleichen Paket, das Meine Sachen Klasse erbt die Sachen Klasse Standard Wert variable und Sachen Klasse Standard Zuwachs Verfahren.

Zwei Klassen im gleichen Paket.
Zwei Klassen im gleichen Paket.

Wenn Sie bewegen die Sachen Klasse zu einem anderen Paket, Meine Sachen nicht mehr erbt die Sachen Klasse Standard Wert Variable oder die Sachen Klasse Standard Zuwachs Verfahren, wie hier gezeigt.

Klassen in verschiedenen Paketen.
Klassen in verschiedenen Paketen.

Aber wenn Sie drehen Wert in ein geschützt Variable und Sie drehen Zuwachs in ein geschützt Verfahren, das Meine Sachen Klasse wieder erbt der übergeordneten Klasse Wert variable und Zuwachs Verfahren, wie hier gezeigt.

Unter Verwendung des geschützten Modifikator.
Unter Verwendung des geschützten Modifikator.

Bemerkt man genauer in den Figuren. Das Meine Sachen Klasse Zuwachs Methode wurde von Standard geändert Öffentlichkeit. Dies wurde getan, eine interessante kleine Fehlermeldung nicht zu sehen. Sie können ein Verfahren mit einem anderen Verfahren, deren Zugang ist restriktiver als die ursprüngliche Methode außer Kraft setzen. Mit anderen Worten: Sie können nicht eine öffentliche Methode mit einem eigenen Verfahren außer Kraft setzen. Sie können nicht einmal eine öffentliche Methode mit einem Standard-Methode überschreiben.

Java-Standardzugang ist restriktiver als geschützten Zugang, wie es in dieser Figur gezeigt. So können Sie nicht eine geschützte Methode mit einem Standard-Methode überschreiben.

image6.jpg

In diesem Beispiel wurde das ganze Problem, indem sie öffentlich vermieden die Meine Sachen Klasse Zuwachs Verfahren. Auf diese Weise wird die Zuwachs Methode mit dem am wenigsten restriktive Art des Zugriffs außer Kraft gesetzt wurde.

Menü