Da ich kein Fan dieser anderen Antworten bin, werde ich meine eigene schreiben.
Beispiele aus der Praxis:
Betrachten Sie ein "Paket" als eine einfache Möglichkeit für eine Java-Klasse, auf eine andere zu verweisen.
Nehmen wir an, ich habe eine große Kiste auf meinem Dachboden. Ich habe einen Taschenrechner, einen Zirkel, einen Winkelmesser usw. Ich kann diese Kiste beschriften MathTools
.
Ein anderes Beispiel wäre, dass Sie alle Ihre Bilder in den Pictures
Ordner in Ihren Dokumenten. Von dort aus können Sie sie aufteilen in Spring Break 2009
o [Insert Name Here]'s Party
.
Was hat das mit Java zu tun? Nun, schauen wir uns die java.util
Paket (Sie können es mit import java.util.*;
. Sie haben ArrayLists, Strings, Random usw., die in den meisten Java-Programmen verwendet werden (allgemeine "Dienstprogramme", wenn Sie so wollen). Sie sind alle übersichtlich im gleichen Paket organisiert, so dass Programmierer sie leicht referenzieren können ( import java.util.*;
).
Einfache Anwendung:
Nehmen wir an, wir finden alle Dateien für einen kleinen Würfelsimulator in C:/Program Files/Java Project/my/proj/
(es ist wahrscheinlich, dass diese Datei auf Ihrem Computer nicht existiert, aber tun Sie einfach mal so).
Sie haben 3 Dateien: Main.java
, Dice.java
y DiceRoller.java
. Alle sind unten aufgeführt:
.
"C:/Programmdateien/Java-Projekt/mein/proj/main/ Main.java
":
package my.proj.main;
import my.proj.sims.Dice;
public class Main
{
public static void main(String[] args)
{
DiceRoller roller = new DiceRoller();
roller.rollAndShow(4);
}
}
"C:/Programmdateien/Java-Projekt/mein/proj/sims/ Dice.java
":
package my.proj.sims;
import java.util.Random; // I used the Random class, but you can also use the Math class if you prefer (java.lang.Math)
public class Dice
{
public Dice()
{
}
public int roll()
{
Random rand = new Random();
return rand.nextInt(6) + 1; // Rolls a random number 1-6
}
}
"C:/Programmdateien/Java-Projekt/mein/proj/sims/ DiceRoller.java
":
package my.proj.sims;
public class DiceRoller
{
public DiceRoller ()
{
}
// Rolls and prints the result of 'n' number of rolls
public void rollAndShow(int n)
{
Dice dice = new Dice();
for (int i = 0; i < n; i++)
{
System.out.println(dice.roll()); // You should never use S.o.p in a method - it's bad practice, but it's easier this way if you don't yet understand the concept of objects
}
}
}
.
Dinge, die man beachten sollte:
Main.java
ist verpackt in my.proj.main
Dice.java
ist verpackt in my.proj.sims
Main.java
muss importieren my.proj.sims.Dice
zu erstellen, um eine Dice
Objekt und seine Methoden verwenden, weil es sich in einem anderen Paket befindet als Dice.java
.
DiceRoller.java
braucht nicht zu importieren my.proj.sims.Dice
weil es sich im selben Paket befindet wie Dice.java
und der Compiler wird die beiden automatisch miteinander verknüpfen.
.
Import
ist ein Befehl zum Laden der Funktionalität einer Klasse in die aktuelle Datei. Betrachten Dice.java
zum Beispiel. Damit es eine Random
Objekt, das über die Methode nextInt()
muss er die Klasse Random aus der Datei java.util.*
paquet.
.
Sie werden vielleicht feststellen, dass einige Leute es vorziehen, die java.util.*
anstelle von java.util.Random
, java.util.ArrayList
, usw. Was die *
bedeutet im Wesentlichen, dass jede Klasse innerhalb java.util
. Laufen import java.util.*
importiert die Klassen Random, String, ArrayList, etc.
.
Ich hoffe, das klärt die Sache auf. Bitte denken Sie daran, hochzuvoten, wenn dies Ihnen geholfen hat :)