next up previous
suivant: Conversion de type explicite monter: Programmes Java illustrant le précédent: Compiler et exécuter un

Sous-sections

Les types référence

Deux variables de type objet

Voici un programme qui illustre le fait que les variables sont des pointeurs (références) vers des objets.

Reference1.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Reference1{
     
public static void main(String[] argv){
   
Compteur cpt = new Compteur();
   Compteur autre = cpt;
   System.out.print
("Valeur de cpt: ");
   System.out.print
(cpt.valeur());
   System.out.println
();
   System.out.print
("Valeur de autre: ");
   System.out.print
(cpt.valeur());
   System.out.println
();
   autre.incremente
();
   System.out.println
("Incrementation de autre");   
   System.out.print
("Valeur de cpt: ");
   System.out.print
(cpt.valeur());
   System.out.println
();
   System.out.print
("Valeur de autre: ");
   System.out.print
(cpt.valeur());
   System.out.println
();
     
}
}

class Compteur{
    
private int x = 0;
    
void incremente(){
  
x = x+1;
    
}
    
int valeur(){
  
return x;
    
}
}
Java2html

Les paramètres sont des références

Comme les variables, les paramètres de types références sont des pointeurs.

Reference2.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Reference2{
    
static void modifieSonParametre(Compteur c){
  
c.incremente();
    
}
    
public static void main(String[] argv){
   
Compteur cpt = new Compteur();
   System.out.print
("Valeur de cpt: ");
   System.out.print
(cpt.valeur());
   System.out.println
();
   modifieSonParametre
(cpt);
   System.out.println
("Appel de modifieSonParametre");   
   System.out.print
("Valeur de cpt: ");
   System.out.print
(cpt.valeur());
   System.out.println
();
    
}
}

class Compteur{
    
private int x = 0;
    
void incremente(){
  
x = x+1;
    
}
    
int valeur(){
  
return x;
    
}
}
Java2html

Les tableaux sont des tableaux de références

Reference3.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Reference3{
     
public static void main(String[] argv){
   
Compteur[] t = new Compteur[5];
   Compteur cpt = 
new Compteur();
   
for (int i=0; i<5; i++){
       
t[i]=cpt;
   
}
   
for (int i=0; i<5; i++){
       
System.out.print("Valeur de t[" + i + "] : ");
       System.out.println
(t[i].valeur());
   
}
   
for (int i=0; i<5; i++){
       
t[i].incremente();
   
}
   
for (int i=0; i<5; i++){
       
System.out.print("Valeur de t[" + i + "] : ");
       System.out.println
(t[i].valeur());
   
}
     }
}

class Compteur{
    
private int x = 0;
    
void incremente(){
  
x = x+1;
    
}
    
int valeur(){
  
return x;
    
}
}
Java2html



Barthelemy Francois 2003-03-03