Ein qualifizierter Name ist ein mit einem vollständigen Pfad, z.B .:
java.util.ArrayList list;
Ein unqualifizierter Name nur den letzten Teil hat:
import java.util.*;
ArrayList list;
Der Begriff anwenden kann auch auf Felder und Methoden.
Also, wenn Sie Klassen importieren können, warum sollten Sie jemals einen qualifizierten Namen verwenden?
Sie benötigen es, wenn Sie zwei Klassen verwenden, die denselben Namen haben, obwohl sie aus verschiedenen Paketen stammen. Ein klassisches Beispiel ist das lächerlich namens Klasse aus dem JDK: Es ist recht häufig müssen Verweise auf Instanzen von Klasse
java.sql.Date
die übrigens
java.util.Date
erweitert, so dass Sie Code benötigen, die wie folgt aussieht:
public void process(java.util.Date fromDate) {
RowSet rows = <run query with fromDate as parameter>
while (rows.nsxt()) {
java.sql.Date date = rows.getDate(1);
// code that needs date
}
}
Wenn Sie zwei gleichnamige Klassen verwenden, vermeiden Sie es nicht, mindestens eines zu qualifizieren - Sie können eines importieren, aber wenn Sie beides importieren, entsteht eine Mehrdeutigkeit.
Dies ist eine hervorragende Stack Overflow-Frage: Sie ist einfach und enthält eine klare Antwort. Nur weil du die Antwort anderswo finden kannst (meiner Meinung nach), heißt das nicht, dass SO keine Antwort haben sollte. Ich habe nicht nachgesehen, ob es ein Duplikat ist. – Thomas
@Thomas Schade, es zeigt keinen Forschungsaufwand. Das ist ein "starker" Grund dafür, dass manche Leute ablehnen. – Tom
Ich bin bei dir; aber der andere Kommentar (den ich markiert habe; gegen den der obige Kommentar geschrieben wurde) war einfach gemein, nicht konstruktiv und gab SO einen schlechten Ruf. – Thomas