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 ?

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);
  }
}
Moi j'etais reste sur l'idee bete que private bah c'etait private a l'instance mais apparemment pas 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

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);
  }
}
Et la reponse c'est vendredi, t'es creve va te coucher n'est pas pas acceptable

Bulbo