Aidez moi à comprendre ce petit code java
hassan9090
-
Utilisateur anonyme -
Utilisateur anonyme -
s.v.p
aide pour comprendre
j'ai exécuté le code suivant :
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
je ne comprend pas d'où vient le 1
:(Merci!
aide pour comprendre
j'ai exécuté le code suivant :
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
je ne comprend pas d'où vient le 1
:(Merci!
A voir également:
- Aidez moi à comprendre ce petit code java
- Code ascii - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
2 réponses
salut ( juste une remarque )
je compend pas le java mais je trouve le prb arrive dans int f () {return -i ;} et je pense que si vous la remplacez par int f () {return i ;} peut être ca marche
bon chance
je compend pas le java mais je trouve le prb arrive dans int f () {return -i ;} et je pense que si vous la remplacez par int f () {return i ;} peut être ca marche
bon chance
Salut,
Non karirovax:
est la méthode f() sans paramètres >> () de la classe B et qui retourne un type int.
int f(): int précise le type du retour, f est le nom de la méthode, () il n'y a pas de paramètres, traitement:
{
return -i; rien d'autre que retourner -i et comme i =2 on retourne -2
}
appel de la méthode f:
hassan9090 >>>> "je ne comprend pas d'où vient le 1" :
le 1 vient de la classe A
Cordialement,
Dan
Non karirovax:
int f () {return -i ;} // qu'il serait mieux d'écrire int f () { return -i ; }
est la méthode f() sans paramètres >> () de la classe B et qui retourne un type int.
int f(): int précise le type du retour, f est le nom de la méthode, () il n'y a pas de paramètres, traitement:
{
return -i; rien d'autre que retourner -i et comme i =2 on retourne -2
}
appel de la méthode f:
B b = new B() ; // création de l'objet b de la classe B car int i = 2 n'est pas static // alors que l'appel est fait depuis la méthode main (static) de la classe Test System.out.println(b.i) ; System.out.println(b.f()) ; // <<<<<<<<<<<<
hassan9090 >>>> "je ne comprend pas d'où vient le 1" :
A a = b ; // est identique à A a = new B() ; car class B extends A System.out.println(a.i) ;
le 1 vient de la classe A
class A { int i = 1 ; // créé en global donc visible depuis la classe Test
Cordialement,
Dan