2016-03-29 3 views
2

Es mag scheinen, kompakt & spezifisch, aber Angabe jeder wesentlichen Unterklasse ist zeitaufwendig, mehr darüber muss erinnert werden.Ist es eine schlechte Übung, alle Unterklassen einer Klasse gleichzeitig zu importieren?

genauer zu sein, was genau ist der Unterschied zwischen import java.applet.*; & import java.*;

+3

Gehen Sie über den Link: http://stackoverflow.com/questions/147454/why-is-using-a-wild-card-with-a-java-import-statement-bad – Kartic

+1

Einige betrachten Wildcard-Importe als schlecht Übung, Punkt, z Weitere Informationen finden Sie in der [Google Java-Formatvorlage] (https://google.github.io/styleguide/javaguide.html#s3.3.1-wildcard-imports). –

Antwort

5

genauer zu sein, was genau ist der Unterschied zwischen import java.applet.*; & import java.*;

Der erste Import aller Arten macht (Klassen , Schnittstellen, enums) aus dem java.applet Paket sichtbar für den Compiler, während die zweite macht alle Typen aus dem java Paket sichtbar.

Beachten Sie, dass es keine "Unterklassen" -Beziehung zwischen Paketen gibt - Pakete bilden eine Pakethierarchie, aber keine Klassenhierarchie. Bei einem Platzhalterimport (import package.*) werden alle Typen aus einem einzelnen Paket importiert, nicht aus einer ganzen Pakethierarchie. Insbesondere import java.* tut nicht importieren java.applet oder ein anderes Paket unter java zusätzlich. In der Praxis sollten Sie übrigens Wildcard-Importe überhaupt vermeiden, da diese Ihren Namespace verschmutzen und Namenskonflikte verursachen können, wenn identische Typnamen in verschiedenen Paketen existieren. Die meisten IDEs organisieren die Importe heute (halb) automatisch, so dass kein Platzhalterimport benötigt wird.

+0

danke für die klärung der ambiguität, sobald ich 15 repos erhalten upvote ihre antwort. –

Verwandte Themen