Importdeklaration

8

Ich lese die Java-8-Spezifikation, um die Java-Sprache besser zu verstehen.

Insbesondere die Kapitel 7 Pakete .

Allerdings in 7.5.2 7.5.2 Typ-Import-on-Demand-Deklarationen Ich verstehe nicht der Fall, in dem wir TypeName gemäß der folgenden Syntax verwenden können:

%Vor%

Die Spezifikation sagt:

  

Wenn der PackageOrTypeName einen Typ (§ 6.5.4) angibt, muss der Name   qualifiziert sein (§ 6.5.5.2), oder es tritt ein Fehler bei der Kompilierung auf.

Also springe ich zu 6.5.4 aber das Folgende ist sehr unklar:

  

Wenn der PackageOrTypeName, Q, im Bereich eines Typs namens Q auftritt,   Dann wird der PackageOrTypeName als TypeName neu klassifiziert. Andernfalls,   Der PackageOrTypeName wird als PackageName neu klassifiziert. Die Bedeutung von   Der PackageOrTypeName ist die Bedeutung des umgeordneten Namens.

Ich kann mir also nicht vorstellen, wie TypeName benutzt wird.

Bitte, kann mir jemand ein Beispiel geben, um Typen mit * zu importieren TypeName ?

    
xdevel2000 13.03.2017, 13:06
quelle

1 Antwort

10

Sie scheinen über verschachtelte Klassen zu vergessen. Ein Beispiel wäre:

%Vor%

Was würde Entry importieren? Es kann jetzt wie folgt verwendet werden (unqualifiziert):

%Vor%

Eine andere Möglichkeit, diesen Import durchzuführen, ist:

%Vor%

Dabei ist java.util.Map der Name eines Typs.

    
Jorn Vernee 13.03.2017, 13:16
quelle

Tags und Links