Les Packages

Computer Science, Java Programming · notes

Browse all programmation documents

30/12/2015

Les packages

Accueil

Cours

Apprenez programmer en Java

Les packages

Apprenez programmer en Java

2 < @ ?

Z

40 heures

& Difficile

Licence

8

LES PACKAGES

% $

-

Lorsque nous avons t confront s pour la premi re fois aux packages, c' tait pour importer la classe Scanner via

l'instruction import java.util.Scanner; . Le fonctionnement des packages est simple comprendre : ce sont

comme des dossiers permettant de ranger nos classes. Charger un package nous permet d'utiliser les classes qu'il

contient.

Il n'y aura rien de franchement compliqu dans ce chapitre si ce n'est que nous reparlerons un peu de la port e des

classes Java.

Cr ation d'un package

T

L'un des avantages des packages est que nous allons y gagner en lisibilit dans notre package par d faut, mais aussi

que les classes mises dans un package sont plus facilement transportables d'une application l'autre. Pour cela, il

vous suffit d'inclure le dossier de votre package dans un projet et d'y importer les classes qui vous int ressent !

Pour cr er un nouveau package, cliquez simplement sur cette ic ne comme la figure suivante (vous pouvez aussi

effectuer un clic droit puis New > Package ).

Une bo te de dialogue va s'ouvrir et vous demander le nom de votre package, comme la figure suivante.

Nouveau package

https://openclassrooms.com/courses/apprenez a programmer en java/les packages

1/6

30/12/2015

Les packages

Nom du package

Il existe aussi une convention de nommage pour les packages :

ceux-ci doivent tre crits enti rement en minuscules ;

Advertisement

les caract res autoris s sont alphanum riques (de a z, de 0 9) et peuvent contenir des points (.) ;

tout package doit commencer par com, edu, gov, mil, net, org ou les deux lettres identifiant un pays (ISO

Standard 3166, 1981) ; fr correspond la France, en correspond l'Angleterre (pour England)etc.

aucun mot cl Java ne doit tre pr sent dans le nom, sauf si vous le faites suivre d'un underscore ( _ ), comme

ceci : com.sdz.package_ .

Comme ce cours est issu du Site du Z ro, j'ai pris le nom l'envers : sdz.com nous donne com.sdz . Pour le cas qui

nous occupe, appelons-le com.sdz.test . Cliquez sur Finish pour cr er le package. Et voil : celui-ci est pr t

l'emploi.

Je vous invite aller voir dans le dossier o se trouvent vos codes sources : vous constaterez qu'il y a

l'arborescence du dossier com/sdz/test dans votre dossier src .

Vous conviendrez que la cr ation d'un package est tr s simple. Cependant, je ne peux pas vous laisser sans savoir que

la port e de vos classes est affect e par les packages&

Droits d'acc s entre les packages

Lorsque vous avez cr votre premi re classe, vous avez vu qu'Eclipse met syst matiquement le mot cl public

devant la d claration de la classe. Je vous avais alors dit que public class Ville et class Ville taient

https://openclassrooms.com/courses/apprenez a programmer en java/les packages

T

2/6

30/12/2015

Les packages

sensiblement diff rents et que le mot cl public influait sur la port e de notre classe. En fait, une classe d clar e

avec le mot cl public sera visible m me l'ext rieur de son package, les autres ne seront accessibles que depuis

l'int rieur du package : on dit que leur port e est default .

Afin de vous prouver mes dires, je vous invite cr er un second package : je l'ai appel com.sdz.test2 . Dans le

premier package, com.sdz.test , cr ez une classe A de port e public et une classe B de port e default ,

comme ceci (j'ai volontairement d clar les variables d'instance public afin d'all ger l'exemple) :

1

2

3

4

5

1

2

3

4

5

package com.sdz.test;

class B {

public String str ="";

Advertisement

}

package com.sdz.test;

public class A {

public B b = new B();

}

Vous aurez remarqu que les classes contenues dans un package ont en toute premi re instruction la

d claration de ce package.

Maintenant que cela est fait, afin de faire le test, cr ez une classe contenant la m thode main , toujours dans le

m me package, comme ceci :

1

2

3

4

5

6

7

8

9

package com.sdz.test;

public class Main {

public static void main(String[] args){

A a = new A();

B b = new B();

//Aucun probl me ici

}

}

Ce code, bien qu'il ne fasse rien, fonctionne tr s bien : aucun probl me de compilation, entre autres. Maintenant,

faites un copier-coller de la classe ci-dessus dans le package com.sdz.test2 . Vous devriez avoir le r sultat

repr sent la figure suivante.

java

java

java

https://openclassrooms.com/courses/apprenez a programmer en java/les packages

3/6

30/12/2015

Les packages

Probl me de port e de classe

Vous pouvez constater qu'Eclipse n'aime ni l'instruction import com.sdz.test.B , ni l'instruction B b = new

B(); . Cela est d la d claration de notre classe. J'irai m me plus loin : si vous essayez de modifier la variable

Advertisement

d'instance de l'objet A , vous aurez le m me probl me. Donc, ceci : a.b.str = "toto"; n'est pas non plus

autoris dans ce package ! La seule fa on de corriger le probl me est de d clarer la classe B public . Rappelez-

vous que seule la classe A avait t d clar e ainsi.

Un package est un ensemble de dossiers et de sous-dossiers.

Le nom du package est soumis une convention de nommage.

Si vous voulez utiliser un mot cl Java dans le nom de votre package, vous devez le faire suivre d'un underscore

( _ ).

Les classes d clar es public sont visibles depuis l'ext rieur du package qui les contient.

Les classes n'ayant pas t d clar es public ne sont pas visibles depuis l'ext rieur du package qui les

contient.

Si une classe d clar e public dans son package a une variable d'un type ayant une port e default , cette

derni re ne pourra pas tre modifi e depuis l'ext rieur de son package.

9

J'ai termin ce chapitre et je passe au suivant

S

Mod liser ses objets gr ce UML

Les classes abstraites et les interfaces

T

Se d sinscrire de ce cours

Comment a marche ?

S

Java Orient Objet

T

1. Votre premi re classe

2. L'h ritage

3. Mod liser ses objets gr ce UML

4. Les packages

5. Les classes abstraites et les interfaces

6. Les exceptions

7. Les num rations

https://openclassrooms.com/courses/apprenez a programmer en java/les packages

4/6

30/12/2015

Les packages

8. Les collections d'objets

9. La g n ricit en Java

10. Les flux d'entr e/sortie

11. Java et la r flexivit

Activit : R alisez un garage

Quiz

Advertisement

Acc der au forum

Cr par

OpenClassrooms, 1 re plateforme

e-Education en Europe

$

L'auteur

Cyrille Herby

Sp cialiste en d veloppement Java et curieux insatiable dinformatique et de programmation web.

Actuellement auditeur en s curit .

D couvrez aussi ce cours en...

@ < @

Premium

Premium

eBook

Livre papier

PDF

OpenClassrooms

Professionnels

Participez

Qui sommes-nous ?

Affiliation

Cr er un cours

https://openclassrooms.com/courses/apprenez a programmer en java/les packages

5/6

30/12/2015

Les packages

Fonctionnement de nos cours

Entreprises

CourseLab

Recrutement

Nous contacter

Suivez-nous

Le blog OpenClassrooms

Universit s et coles

Aider traduire

Conditions G n rales d'Utilisation

$ 6 ;

https://openclassrooms.com/courses/apprenez a programmer en java/les packages

6/6