> Je suis oblig� de mettre une impl�mentation vide?

M�me �a �a ne marche pas,

public class A {

public A (){
method();
}

static void method(){
System.out.println("The default one.");
}
}// A


public class B extends A {

public B (){
}

static void method(){
System.out.println("Overriden by B. ");
}


}// B


me donne:

% b = new B();
The default one.
<B@3aa466>
% b.method();
Overriden by B.

C'est quand-m�me pas facile � cerner. Je comprends bien, quand la m�thode est appel�e depuis le niveau A (par le constructeur), c'est la static de A qui est appel�e, quand elle est appel�e depuis le niveau B, c'est celle de B.

Est-ce que �a veut dire que je ne peux pas compl�tement �craser une m�thode et en m�me temps l'avoir statique chez les enfants? Je ne comprends toujours pas pourquoi il s'oppose � une abstract static ou abstract �cras�e par une statique...

Bon WE (on dirait que tt le monde est d�j� parti...),

Christian Mercat


Répondre à