Was ist der Unterschied zwischen import java.util. *; und importieren Sie java.util.Date; ?

7

Ich möchte nur Strom ausgeben und schrieb

%Vor%

am Anfang und

%Vor%

im Hauptteil.

Aber was ich bekam, war so etwas:

%Vor%

Wenn ich den Import in import java.util.Date; ändere funktioniert der Code perfekt, warum?

====================================

Das Problem war, OK, meine Quelldatei war "Date.java", das ist die Ursache.

Nun, es ist alles meine Schuld, ich verwirrte alle herum; P

Und danke an alle unten. Es ist wirklich nett von dir;)

    
EthanZ6174 30.10.2009, 12:08
quelle

5 Antworten

11

Sie haben wahrscheinlich eine andere "Date" -Klasse irgendwo importiert (oder Sie haben eine Date-Klasse in Ihrem Paket, die nicht importiert werden muss). Mit "import java.util. *" Verwenden Sie das "andere" Datum. In diesem Fall ist es am besten, java.util.Date explizit im Code anzugeben.

Oder besser, versuchen Sie, Ihre Klassen "Date" zu nennen.

    
sleske 30.10.2009, 12:15
quelle
4

Die toString() Implementierung von java.util.Date hängt nicht von der Art ab, wie die Klasse importiert wird. Es gibt immer ein schönes formatiertes Datum zurück.

Das toString() , das Sie sehen, stammt aus einer anderen Klasse.

Der spezifische Import hat Vorrang vor Platzhalterimporten.

in diesem Fall

%Vor%

bezieht sich auf other.Date und nicht java.util.Date .

Das Seltsame ist das

%Vor%

Sollte Ihnen einen Compilerfehler geben, der besagt, dass der Verweis auf Date mehrdeutig ist, weil sowohl other.Date als auch java.util.Date übereinstimmen.

    
Fedearne 30.10.2009 12:40
quelle
3
%Vor%

importiert alles innerhalb von java.util einschließlich der Date-Klasse.

%Vor%

importiert nur die Date-Klasse.

Das Tun von beiden könnte keinen Unterschied machen.

    
Chris R 30.10.2009 12:14
quelle
2

Ihr Programm sollte genauso funktionieren, entweder mit import java.util. *; oder import java.util.Date; . Es muss noch etwas dazwischen geben.

    
cherouvim 30.10.2009 12:11
quelle
0
%Vor%

Was meinst du mit "funktioniert perfekt"? Die Ausgabe des Ausdrucks eines Date-Objekts ist gleich, unabhängig davon, ob Sie java.util. * Oder java.util.Date importiert haben. Die Ausgabe, die Sie beim Drucken von Objekten erhalten, ist die Darstellung des Objekts mit der Methode toString () der entsprechenden Klasse.

    
Vijay Dev 30.10.2009 12:23
quelle

Tags und Links