Bonjour les gens,
Bon comme on est vendredi et que je m'ennuie j'ai deux questions existentielles qui me turlupinent.
NDLR: tout les tests ont ete fait avec un JDK 1.6 a jour de ses updates.
Question 1: Vous trouvez normal que ce code fonctionne ?
Moi j'etais reste sur l'idee bete que private bah c'etait private a l'instance mais apparemment pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public class C { private String name; public C() { name = "C"; } public void affiche(C aC) { System.out.println(aC.name); } public String getName() { return name; } public static void main(String args[]) { C coucou = new C(); coucou.affiche(coucou); } }Ca vous choque vous aussi ?
Question 2: Toute mon estime a celui qui
1 - me donne l'output de l'execution (sans tricher, attention je verifierai si vous l'avez fait tourner avant de repondre)
2 - me donne une explication claire et rationnelle, regardant la philosophie objet du pourquoi ca a ete fait comme ca.
3 - me donne l'age du capitaine
Et la reponse c'est vendredi, t'es creve va te coucher n'est pas pas acceptable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 package dummy; public class A { protected String name; public A() { name = "A"; } public void affiche(A a) { System.out.println(a.name); System.out.println("inA:" + name); } public static void main(String args[]) { B bidule = new B(); A toto = bidule; bidule.affiche(bidule); toto.affiche(bidule); bidule.affiche(toto); toto.affiche(toto); } } package dummy; public class B extends A { public String name; public B() { name = "B"; } public void affiche(B b) { System.out.println(b.name); System.out.println("inB:" + name); } public void affiche(A a) { System.out.println(a.name); System.out.println("inB:" + name); } }![]()
Bulbo![]()
Partager