Warum importieren einige Java-Codes das gleiche Paket erneut? [Duplikat]

8

Wenn ich die Dokumentation von play frameworks gelesen habe, habe ich das gefunden.

%Vor%

In der ersten Zeile selbst haben sie alle Klassen unter play package importiert. Was ist dann die zweite Zeile? Überprüfen Sie diesen Link . Rufen Sie den Abschnitt "Seite mit Anwendungsfehlern bereitstellen" auf.

Korrigiere mich, wenn ich im Import-Konzept falsch liege.

    
Gugan 06.12.2012, 07:24
quelle

4 Antworten

18
  

Korrigiere mich, wenn ich im Import-Konzept falsch liege.

Sie sind.

In etwa so:

%Vor%

nur importiert Typen aus dem foo.bar -Paket. It importiert nicht von "Unterpackages" wie foo.bar.baz .

Es ist sehr einfach, dies zu testen:

%Vor%

Das wird nicht kompiliert, aber wenn Sie hinzufügen:

%Vor%

dann wird es.

Java denkt nicht wirklich an Pakete, die eine Hierarchie bilden. Wir tun das als Menschen, aber soweit es die Java-Sprache betrifft, sind die Pakete java.util und java.util.regex völlig unabhängig voneinander.

    
Jon Skeet 06.12.2012, 07:26
quelle
2
%Vor%

importiert alle darin enthaltenen Typen; außer denen, die sich in einem Unterpaket befinden.

%Vor%

importiert alle Typen innerhalb von mvc package, was ein Sub-pckage innerhalb von play ist.

Sie finden diese Antwort auch hilfreich: Java-Import-Verwirrung

    
Azodious 06.12.2012 07:26
quelle
1

Die erste Zeile importiert alle Klassen, Enums und Interfaces auf der gleichen Ebene des Spiels. * aber keine Unterpakete. Daher brauchst du die zweite Zeile.

    
Martin Seeler 06.12.2012 07:29
quelle
0

Sie sind verschiedene Pakete. Es gibt kein Konzept von Unterpaketen in Java. Die von play. * Importierten Klassen könnten genauso gut funktionieren. *. Aus Sicht der JVM haben sie nichts mit den Klassen unter play.mvc. * Zu tun. Die Namenskonvention ist nur eine Annehmlichkeit für Sie zu wissen, dass die Pakete verwandt sind, und play.mvc hängt wahrscheinlich stark von der Wiedergabe ab.

    
Diego Basch 06.12.2012 07:31
quelle

Tags und Links