Video: Webbseminarium - Skatter & Tullavgifter 2024
Java har en funktion som låter dig klumpa klasser i grupper av klasser. Varje klump av klasser kallas ett paket. I Java-världen ger programmerare vanligtvis dessa paket långa, dotfyllda namn.
Till exempel, eftersom någon registrerat domännamnet allmycode. com, de kan namnge ett paket com. allmycode. utils. textutils. Java API är faktiskt en stor samling paket. API: n har paket med namn som java. lang, java. util, java. awt, javax. swing, och så vidare.
Med denna information om paket kan du rensa upp viss förvirring om importdeklarationer. Varje importdeklaration som inte använder ordet statiskt måste börja med paketets namn och måste sluta med något av följande:
-
En klassens namn i det paketet
-
En asterisk (som indikerar alla klasser inom det här paketet) paketet)
Till exempel deklarationen
importera java. util. Scanner;
gäller eftersom Java. util är namnet på ett paket i Java API, och Scanner är namnet på en klass i Java. util-paketet. Det prickade namnet java. util. Skannern är fullt kvalificerat namn i skannerklassen.
En klassens fullt kvalificerade namn innehåller namnet på det paket där klassen definieras. (Du kan ta reda på alla dessa saker om java. Util och Scanner genom att läsa Javas API-dokumentation.)
Här är ett annat exempel. Deklarationen
importera javax. svänga. *;
gäller för javax. swing är namnet på ett paket i Java API, och asterisken avser alla klasser i javaxen. svängpaket. Med denna importdeklaration högst upp i din Java-kod kan du använda förkortade namn för klasser i javaxen. swing paket - namn som JFrame, JButton, JMenuBar, JCheckBox och många andra.
Här är ett annat exempel. En rad som
importera javax. *; // Bad! !
är inte en giltig importdeklaration. Java API har inget paket med javaxen med ett ordnamn. Du kanske tror att den här raden låter dig förkorta alla namn som börjar med javax (namn som javax. Swing. JFrame och javax. Ljud. Midi), men det är inte så som importdeklarationen fungerar. Eftersom javax inte är namnet på ett paket, importerar linjen javax. * Angers bara Java-kompilatorn.