Probleme de comprehension du code java

ISIMMM Messages postés 17 Statut Membre -  
ISIMMM Messages postés 17 Statut Membre -
Bonjour,

J'ai un problème de compréhension de ce petit programme en java
class A {
int i = 1 ;
int f() { return i ;}
static char g() { return 'A' ;}
}
class B extends A {
int i = 2 ;
int f () {return -i ;}
static char g() { return 'B' ;}
}
public class Test {
public static void main(String args[]) {
B b = new B() ;
System.out.println(b.i) ;
System.out.println(b.f()) ;
System.out.println(b.g()) ;
System.out.println(B.g()) ;
A a = b ;
System.out.println(a.i) ;
System.out.println(a.f()) ;
System.out.println(a.g()) ;
System.out.println(A.g()) ;
}
}
et j'ai le résultat :
2
-2
B
B
1
-2
A
A
svp aidez moi

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Y a pas grand chose à comprendre, la seule petite difficulté serait a.f() qui donne -2 mais ça vient du fait que a est initialisé de type B... sinon le résultat est évident !
    0
    1. ISIMMM Messages postés 17 Statut Membre
       
      mon probleme est de ne pas savoir quand est ce qu'on utilise les méthodes f et g de B et celles de A .
      0