Heim >Java >javaLernprogramm >Wie kann ich von einem benannten Java-Paket aus auf ein Standardpaketobjekt zugreifen?

Wie kann ich von einem benannten Java-Paket aus auf ein Standardpaketobjekt zugreifen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-20 10:49:10920Durchsuche

How Can I Access a Default Package Object from a Named Java Package?

Zugriff auf Java-Klassen im Standardpaket aus benannten Paketen

In einem gemeinschaftlichen Grails-Projekt Zugriff auf ein von Groovy erstelltes Objekt im Standardpaket aus einer Java-Klasse in einem benannten Paket kann a darstellen Herausforderung.

Frage: Gibt es eine Möglichkeit, aus einer gepackten Java-Klasse auf dieses Standardpaketobjekt zuzugreifen?

Antwort:

Der Zugriff auf Klassen im Standardpaket aus benannten Paketen ist im Allgemeinen nicht möglich.

Vor Java 2 Standard Edition (J2SE) 1.4 war es zulässig, Klassen aus dem Standardpaket mit der Syntax import Unfinished; zu importieren. Diese Praxis ist jedoch nicht mehr zulässig.

Um von einer gepackten Klasse auf eine Standardpaketklasse zuzugreifen, müssen Sie die Standardpaketklasse in ein benanntes Paket verschieben. Dies beinhaltet:

  1. Identifizieren des von Groovy generierten Quellcodes.
  2. Nachbearbeitung des Codes, um die Standardpaketdatei in ein dediziertes Paket zu verschieben.
  3. Hinzufügen des „package“-Direktive an den Anfang der Datei.

Hinweis: Im Java Development Kit (JDK) 7 und 8 ist der Import aus unbenannten Paketen strengstens untersagt (Fehler 6975015). Für eine erfolgreiche Kompilierung muss die folgende Bedingung erfüllt sein:

  • Der Typname muss sich auf eine Klasse, Schnittstelle, Aufzählung oder einen Annotationstyp innerhalb eines benannten Pakets beziehen.
  • Wenn der Typ ist nicht direkt innerhalb eines benannten Pakets, sein äußerster umschließender Typ muss innerhalb eines benannten Pakets liegen Paket.

Hintergrund: Das Standardpaket dient der Vereinfachung der Entwicklung kleiner, temporärer oder anfänglicher Anwendungen. Der Zugriff auf Standardpaketklassen über benannte Pakete verstößt gegen die Designprinzipien der Kapselung und Modularität.

Das obige ist der detaillierte Inhalt vonWie kann ich von einem benannten Java-Paket aus auf ein Standardpaketobjekt zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn