Comme je ne suis pas fan de ces autres réponses, j'écrirai les miennes.
du monde réel Exemples:
Pensez à un « paquet » comme un moyen facile pour une classe java pour référencer un autre.
Disons que j'ai cette grosse boîte dans mon grenier. J'ai une calculatrice, une boussole, un rapporteur, etc. Je peux étiqueter cette boîte MathTools
.
Un autre exemple consisterait à prendre toutes vos photos et à les placer dans le dossier Pictures
de vos documents. De là, vous pouvez les diviser en Spring Break 2009
ou [Insert Name Here]'s Party
.
Comment cela se rapporte-t-il à Java? Eh bien, regardons le paquet java.util
(vous pouvez faire référence à ceci avec import java.util.*;
.) Vous avez ArrayLists, Strings, Random, etc. qui sont utilisés dans la plupart des programmes Java (si vous préférez les "utilities" communs). le même paquet, de sorte que les programmeurs peuvent facilement les référencer (import java.util.*;
)
application facile.
Supposons que nous pouvons trouver tous les fichiers à un petit simulateur de dés dans C:/Program Files/Java Project/my/proj/
(il est probable que ce fichier n'existe pas sur votre ordinateur, mais faites juste semblant pendant un moment)
Vous avez 3 fichiers: Main.java
, Dice.java
et DiceRoller.java
. Tous sont représentés ci-dessous:
.
"C:/ProgramFiles/Projet Java/ma/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:/ProgramFiles/Projet Java/ma/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:/ProgramFiles/Java/projet/mes 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
}
}
}
.
A noter:
Main.java
est emballé dans my.proj.main
Dice.java
est emballé dans my.proj.sims
Main.java
doit importer my.proj.sims.Dice
afin de créer un objet Dice
et utiliser ses méthodes, car il est dans un paquet différent de Dice.java
.
- n'a pas besoin d'importer
my.proj.sims.Dice
car il se trouve dans le même package que Dice.java
et le compilateur les associe automatiquement.
.
Import
est une commande permettant de charger la fonctionnalité d'une classe dans le fichier en cours. Regardez Dice.java
, par exemple. Pour créer un objet Random
, qui a la méthode nextInt()
, il doit importer la classe Random du package java.util.*
.
.
Vous remarquerez que certaines personnes préféreraient utiliser java.util.*
au lieu de java.util.Random
, java.util.ArrayList
, etc. Ce que le *
signifie essentiellement une classe dans java.util
. L'exécution import java.util.*
importera les classes Random, String, ArrayList, etc.
.
Espérons que cela éclaircit les choses. S'il vous plaît envisager upvoting si cela vous a aidé :)
Les réponses à cette question peuvent vous aider: http://stackoverflow.com/questions/1088509/what-is-the-purpose-of-defining-a-package-in-java-file – BoltClock