import java.util.Scanner;
Diese importiert Scanner
(wie Sie bereits wissen).
import java.util.Scanner.*;
Diese importiert jede öffentliche nested classes innerhalb Scanner
definiert.
Diese bestimmte Importanweisung ist nutzlos, da Scanner
keine verschachtelten Klassen definiert (und der Import Scanner
selbst nicht importiert). Dies kann jedoch mit etwas wie import java.util.Map.*
verwendet werden, in diesem Fall Entry
(eine Schnittstelle verschachtelt in Map
, die häufig im Umgang mit Karten verwendet wird) importiert werden. Ich bin mir sicher, dass es bessere Beispiele gibt, das ist nur das, was mir in den Sinn kam.
All dies ist in JLS §7.5 angegeben (speziell siehe §7.5.1: Single-Type-Import Declarations).
Als Reaktion auf die Bearbeitung des OP:
Ok java.util.Scanner.*
importiert die öffentlichen geschachtelten Klassen so importieren. Aber was, wenn es auch ein Paket namens Scanner
gäbe? Was würde die Aussage import java.util.Scanner.*
dann tun?
In diesem Fall wäre ein Übersetzungsfehler, da das Paket java.util.Scanner
mit dem Typ java.util.Scanner
kollidieren würde.
Die letzte Zeile wird nicht kompiliert, oder? –
[Lesen Sie diese] (http://docs.oracle.com/javase/tutorial/java/package/usepkgs.html). –
@ T.J.Crowder Sure tut es – arshajii