Standardbereich in Java

Als Ihr Java-Anwendungen werden immer komplexer, die Notwendigkeit, Umfang berücksichtigen wird immer wichtiger. Der Hauptgrund dafür ist, dass Sie versehentlich einen Fehler in Ihre Anwendung durch Nichtbeachtung Scoping-Regeln einführen können.

Dies kann zur Folge haben aus einem Feld oder ein anderes Element falsch von der Anwendung verwendet werden (wie zum Beispiel das Hinzufügen eines falschen Datenwert oder ein Verfahren zur falschen Zeit oder mit falschen Daten zugreifen). Darüber hinaus kann eine falsche Scoping die Tür offen lassen, für Außenstehende mit Ihrer Anwendung auf unvorhersehbare Weise (wie zB ein Virus) zu interagieren.

Der Standardbereich tritt auf, wenn Sie nicht speziell einen Bereich zu einer Klasse Element zuordnen. Da viele Java-Entwickler keine Ahnung, was der Standardbereich für einige Elemente (und mit einem Standardbereich bedeutet, dass der Code nicht dokumentiert ist), ist es nicht sehr oft verwendet.

Trotzdem müssen Sie wissen, was der Standardbereich für verschiedene Elemente ist, weil einige Java-Entwickler auf sie verlassen kann. Bevor Sie jedoch den Standardbereich zu verstehen, müssen Sie prüfen, Sichtweite - die Maßnahme, zu der Anwendungselemente ein Mitglied sehen kann. Java bietet die folgenden Ebenen der Sichtbarkeit (im allgemeinen Ordnung der Kapselung):

  • Paket: Der Behälter verwendet, um eine Anzahl von Klassen zu halten. Wenn es mit einem einfachen Verzeichnisstruktur arbeiten, wie die Beispiele in diesem Buch zu tun, ist das Paket ein Verzeichnis, das eine Reihe von Class-Dateien hält.

  • Klasse: Eine Klasse befindet sich normalerweise in einer einzigen .java-Datei, die Sie in eine .class-Datei kompilieren. Es enthält eine einzelne Klassendeklaration.

  • Verfahren: Ein Element kann in der Klasse oder als Teil eines Verfahrens befinden. Das Verfahren dient als Behälter, der das Element zu halten.

  • Block: Ein Element kann für die Schleife innerhalb eines Codeblocks, wie beispielsweise ein befinden.

Scope hängt teilweise von der Position verwendet, um ein Element zu erklären. Beispielsweise eine Variable, die innerhalb dieses Blocks definiert ist, ist nur sichtbar innerhalb eines Blockes (beispielsweise eine for-Schleife). Wenn Sie versuchen, außerhalb des Blocks um die Variable zu verwenden, zeigt Java eine Ausnahme. Unter Sichtbarkeit berücksichtigt, beschreibt diese Tabelle die verschiedenen Ebenen der Umfang innerhalb der Java-Umgebung.

Java Scoping-Regeln
SichtweitePrivat-(Standard)geschütztÖffentlichkeit
Zugänglich von der KlasseXXXX
Erreichbar aus dem Paket XXX
Von jedem Kind Klasse XX
Erreichbar überall X

Die Tabelle zeigt, wie der Standardbereich in das Schema der Dinge passt. Zum Beispiel, wenn Sie eine Methode unter Verwendung der Standardbereich deklarieren, kann jede Methode, um es verwenden, solange sie im gleichen Paket befindet. Darüber hinaus, wenn Sie eine Klasse erstellen, die von der Klasse erbt die Methode enthält, kann die Unterklasse die Methode verwenden, solange sie im gleichen Paket befindet.

Wenn jedoch die Unterklasse außerhalb des aktuellen Paket vorhanden ist, kann es nicht die Methode verwenden. Kurz gesagt, ist der Standardbereich ein wenig restriktiver als den Schutzbereich, aber weniger restriktiv als die privaten Rahmen.

Menü