0% ont trouvé ce document utile (0 vote)
5 vues4 pages

Premiers pas en programmation Java

Transféré par

Slim Mezdari
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues4 pages

Premiers pas en programmation Java

Transféré par

Slim Mezdari
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 4

Éléments de programmation Java


I. Premiers pas
Un programme écrit en Java consiste en un ensemble de classes représentant les éléments
manipulés dans le programme et les traitements associés. L’exécution du programme commence par
l’exécution d’une classe qui doit implémenter une méthode particulière “public static void
main(String[] args)”. Les classes implémentant cette méthode sont appelées classes
exécutables.
1. Classe HelloWorld
Une classe Java HelloWorld qui affiche la chaîne de caractères “Hello world” s’écrit :
public class HelloWorld {
public static void main(String[] args) {
[Link](”Hello world”);
}
}

L’exécution (après compilation) de cette classe se fait de la manière suivante :


C:\>java HelloWorld
Hello world
C:\>
☛ Remarque : le tableau de chaînes de caractères args qui est un paramètre d’entrée de la
méthode main contient des valeurs précisées à l’exécution.

Dans ce premier programme très simple, une seule classe est utilisée. Cependant, la
conception d’un programme orienté-objet nécessite, pour des problèmes plus complexes, de créer
plusieurs classes et la classe exécutable ne sert souvent qu’à instancier les premiers objets. La
classe exécutable suivante crée un objet en instanciant la classe Rectangle et affiche sa surface :
public class RectangleMain {
public static void main(String[] args) {
Rectangle rect = new Rectangle(5, 10);
[Link](”La surface est ” + [Link]());
}
}

☛ Remarque importante : il est obligatoire d’implémenter chaque classe publique dans un


fichier séparé et il est indispensable que ce fichier ait Je même nom que celui de la classe. Dans
le cas précédent, deux fichiers ont ainsi été créés : [Link] et [Link].
2. Packages
Un grand nombre de classes, fournies par Java SE, implémentent des données et traitements
génériques utilisables par un grand nombre d’applications. ces classes forment l’API (Application
Programmer Interface) du langage Java. Une documentation en ligne pour l’API java est disponible
à l’URL :
[Link]

12
Toutes ces classes sont organisées en packages (ou bibliothèques) dédiés à un thème précis.
Parmi les packages les plus utilisés, on peut citer les suivants :
Package Description
[Link] classes graphiques et de gestion d’interfaces
[Link] Gestion des entrées/sorties
[Link] classes de base (importé par défaut)
[Link] classes utilitaires
[Link] Autres classes graphiques
Pour accéder à une classe d’un package donné, il faut préalablement importer cette classe ou
son package. Par exemple, la classe Date appartenant au package [Link] qui implémente un
ensemble de méthodes de traitement sur une date peut être importée de deux manières :
● une seule classe du package est importée :

import [Link] ;

● toutes les classes du package sont importées (même les classes non utilisées) :
import [Link].* ;

Le programme suivant utilise cette classe pour afficher la date actuelle :

import [Link] ;

public class DateMain {


public static void main(String[] args) {
Date today = new Date();
[Link](”Nous sommes le ” + [Link]());
}
}

13
Il est possible de créer vos propres packages en précisant, avant la déclaration d’une classe, le
package auquel elle appartient. Pour assigner la classe précédente à un package, nommé [Link],
il faut modifier le fichier de cette classe comme suit :

package [Link] ;

import [Link] ;

public class DateMain {


...
}

Enfin, il faut que le chemin d’accès du fichier [Link] corresponde au nom de son
package. celui-ci doit donc être situé dans un répertoire fr/emse/[Link] accessible à
partir des chemins d’accès définis lors de la compilation ou de l’exécution (voir section 1.1.1).

II. Variables et méthodes


1. Visibilité des champs
Dans les exemples précédents, le mot-clé public apparaît parfois au début d’une déclaration
de classe ou de méthode sans qu’il ait été expliqué jusqu’ici. ce mot-clé autorise n’importe quel
objet à utiliser la classe ou la méthode déclarée comme publique. La portée de cette autorisation
dépend de l’élément à laquelle elle s’applique (voir le tableau 1).

Tableau 1 – Portée des autorisations

Élément Autorisations
Variable Lecture et écriture
Méthode Appel de la méthode
classe Instanciation d’objets de cette classe et
accès aux variables et méthodes de classe

Le mode public n’est, bien sûr, pas le seul type d’accès disponible en Java. Deux autres mots
clés peuvent être utilisés en plus du type d’accès par défaut : protected et private. Le tableau 2
récapitule ces différents types d’accès.

Tableau 2 – Autorisations d’accès

public protected défaut Private


Dans la même classe Oui Oui Oui Oui
Dans une classe du même Oui Oui Oui Non
package
Dans une sous-classe d’un Oui Oui Non Non
autre package
Dans une classe quelconque Oui Non Non Non
d’un autre package
Si aucun mot-clé ne précise le type d’accès, celui par défaut est appliqué. En général, il est
souhaitable que les types d’accès soient limités et le type d’accès public, qui est utilisé
systématiquement par les programmeurs débutants, ne doit être utilisé que s’il est indispensable.
Cette restriction permet d’éviter des erreurs lors d’accès à des méthodes ou de modifications de
variables sans connaître totalement leur rôle.
2. Variables et méthodes de classe
Dans certains cas, il est plus judicieux d’attacher une variable ou une méthode à une classe
plutôt qu’aux objets instanciant cette classe. Par exemple, la classe [Link] possède
une variable MAX_VALUE qui représente la plus grande valeur qui peut être affectée à un entier.
Or, cette variable étant commune à tous les entiers, elle n’est pas dupliquée dans tous les objets
instanciant la classe integer mais elle est associée directement à la classe integer. Une telle
variable est appelée variable de classe. De la même manière, il existe des méthodes de classe
qui sont associées directement à une classe. Pour déclarer une variable ou méthode de classe, on
utilise le mot-clé static qui doit être précisé avant le type de la variable ou le type de retour de
la méthode.
La classe [Link] nous fournit un bon exemple de variable et de méthodes de classes.
public final class Math {
...
public static final double Pi = 3.14159265358979323846 ;
...
public static double toRadians(double angdeg) {
return angdeg / 180.0 * Pi ;
}
...
}

La classe Math fournit un ensemble d’outils (variables et méthodes) très utiles pour des
programmes devant effectuer des opérations mathématiques complexes. Dans la portion de
classe reproduite ci-dessus, on peut notamment y trouver une approximation de la valeur de π et
une méthode convertissant la mesure d’un angle d’une valeur en degrés en une valeur en
radians. Dans le cas de cette classe, il est tout à fait inutile de créer et d’instancier un objet à
partir de la classe Math. En effet, la valeur de π ou la conversion de degrés en radians ne vont
pas varier suivant l’objet auquel elles sont rattachées. Ce sont des variables et des méthodes de
classe qui peuvent être invoquées à partir de toute autre classe (car elles sont déclarées en accès
public) de la manière suivante :

public class MathMain {


public static void main(String[] args) {
[Link](”pi = ” + [Link]);
[Link](”90° = ” + [Link](90));
}
}

➲ Question : Dans les sections précédentes, nous avons déjà utilisé une variable de classe et une
méthode de classe. Pouvez-vous trouver lesquelles ?

Vous aimerez peut-être aussi