Probleme de comprehension du code java

Fermé
ISIMMM Messages postés 10 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 8 juin 2011 - 6 juin 2011 à 23:33
ISIMMM Messages postés 10 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 8 juin 2011 - 7 juin 2011 à 10:09
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
A voir également:

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
7 juin 2011 à 07:14
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
ISIMMM Messages postés 10 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 8 juin 2011
7 juin 2011 à 10:09
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