1.3 Une premi`ere classe
Le listing 1.1 pr´esente une premi`ere classe assez simple qui permet d’afficher le texte ”Hello
World” au terminal. En Java, chaque classe est imp´erativement programm´ee dans un fichier
distinct qui porte le nom de la classe et dont l’extension est ”.java”. Il y a ainsi un fichier nomm´e
HelloWorld.java qui contient le code de la classe HelloWord.
Listing 1.1: La classe HelloWorld
1public class HelloWo rl d {
2
3/* *
4* @param args the comm an d line ar gu me nts
5*/
6public static void main ( Str in g [] arg s ) {
7Sys tem . out . pri nt ln (" Hell o World " );
8}
9
10 }
La fonction main() est n´ecessairement d´eclar´ee comme ´etant publique (public) et statique
(static) afin de pouvoir ˆetre appel´ee sans devoir instancier la classe. Les m´ethodes et les
variables statiques sont appel´ees m´ethodes et variables de classe. Les variables de classes sont
partag´ees entre les instances de la classe. Si une instance modifie la valeur d’une variable de
classe, cette modification sera d’application pour toutes les instances de la classe consid´er´ee.
les m´ethodes de classe sp´ecifient que l’action r´ealis´ee n’est pas li´ee `a une instance particuli`ere
de cette classe. Il n’est donc pas n´ecessaire d’instancier la classe, de cr´eer un objet, pour
utiliser la m´ethode. Pour appeler une telle m´ethode, il suffit de faire directement r´ef´erence
au nom de la classe. Par exemple, pour appeler la fonction main() de la classe HelloWorld :
HelloWorld.main(null);
Comme la fonction main() de la classe HelloWorld ne renvoie rien, le mot-cl´e void est plac´e
avant le nom de la fonction.
Pour afficher du texte dans la console, HelloWorld utilise les outils fournit par la classe
System. La classe System met `a disposition des objets de flux qui fournissent des canaux
de communication entre un programme et un p´eriph´erique bien d´etermin´e. En l’occurrence,
System.out permet d’afficher des donn´ees dans la console. Il fournit plusieurs m´ethodes `a cet
escient. La m´ethode utilis´ee, println(), est un raccourci pour print line. Cette m´ethode affiche
dans la console la chaˆıne de caract`ere pass´ee en param`etre et ins`ere un retour `a la ligne. Il est
possible d’afficher une chaˆıne de caract`eres sans retour `a la ligne avec la m´ethode print().
1.4 Les paquets
En Java, les classes sont r´eunies dans des paquets qu’il faut importer pour pouvoir les employer,
`a l’instar des fichiers d’en-tˆete en C++ qui fournissent les d´efinitions de fonctions et de classes.
Dans l’exemple du listing 1.1, la classe System est issue du package java.lang. Celui-ci n’est
pas import´e par une instruction sp´ecifique au d´ebut du programme, car il est automatiquement
import´e dans tous les programmes Java. Le paquet java.lang est le seul paquet `a ˆetre import´e
automatiquement. Tout autre paquet doit ˆetre import´e avec le mot-cl´e import. Par exemple,
l’emploi de la classe JOptionPane, qui sera pr´esent´e plus loin, n´ecessite l’importation du paquet
javax.swing.
Il y a deux mani`eres d’acc´eder `a une classe plac´ee dans un paquet. Soit en important la
classe elle-mˆeme avec une ligne de code comme :
import javax.swing.JOptionPane;
- 4 -