Oui, c'est "normal".
Les m�thode static sont "statique" ;-)
elles ne sont pas r�solues dynamiquement.
Il n'y a donc pas de red�finition possible, pas de polymorphisme.
Une m�thode statique est une m�thode de classe, pas une m�thode
d'instance.

Pour aller plus loin, pourquoi method() devait-elle etre static ?
______________________________________________
Jean-Baptiste BRIAUD                    Sysdeo
Software engineer               www.sysdeo.com
                         www.eclipsetotale.com

> -----Message d'origine-----
> De : Christian Mercat [mailto:[EMAIL PROTECTED]] 
> Envoy� : vendredi 7 f�vrier 2003 17:43
> � : [EMAIL PROTECTED]
> Objet : Re: abstract vs static
> 
> 
>  > 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 à