Exercice Java corrigé abstract et static determiner l’exécution d’un programme donné, tutoriel & guide de travaux pratiques en pdf.
Le programme AbstractStatic suivant utilise la hiérarchie de classes indiquée dans le code ci-dessous.
Il vous est demandé d’indiquer l’affichage exact produit par l’exécution du programme AbstractStatic.
class AbstractStatic {
public static void main(String[] args) {
N un = new N();
N deux = new N(true);
Z trois = new Z();
Z quatre = new Z(false);
Q cinq = new Q();
un.m1();
deux.m1();
deux.m3();
trois.m1();
trois.m3();
quatre.m3();
cinq.m2();
System.out.println(un.n);
System.out.println(un.b);
System.out.println(un.i);
System.out.println(deux.n);
System.out.println(deux.b);
System.out.println(deux.i);
System.out.println(trois.n);
System.out.println(trois.b);
System.out.println(trois.o);
System.out.println(quatre.n);
System.out.println(quatre.b);
System.out.println(quatre.o);
System.out.println(cinq.n);
System.out.println(cinq.d);
}
}
abstract class C {
static int n = 0;
C() {
n++;
}
C(boolean b) {
if (b) {
n++;
}
}
}
abstract class R extends C {
boolean b = false;
R() {
super();
}
R(boolean b) {
super(b);
n++;
}
abstract boolean m1();
}
class Q extends C {
int d = 0;
Q() {
super(true);
}
boolean m1() {
if (d == 1) {
return true;
}
d++;
return false;
}
void m2() {
if (d == 2) {
d++;
}
}
}
class N extends R {
int i = 1;
N() {
super();
b = false;
}
N(boolean b) {
super(b);
n++;
i++;
}
boolean m1() {
if (b) {
b = false;
} else {
b = true;
}
return !b;
}
void m3() {
i++;
}
}
class Z extends R {
int o;
Z() {
super();
o++;
}
Z(boolean b) {
super(b);
o = 4;
}
boolean m1() {
return !b;
}
void m3() {
o++;
}
}La correction exercice Java (voir page 2 en bas)