Title: RES: [java-list] Certificacao BETA
Quando o m�todo � sobrescrito, vc perde a implementa��o do m�todo anterior. No exemplo do Jos� vc pode acessar os 2 m�todos chamando MyTest.myStat() ou Test.myStat()
----- Original Message -----
Sent: Tuesday, May 28, 2002 5:20 PM
Subject: Re: RES: [java-list] D�vida quest�o de Certificacao?

Aproveitando a onda, apenas n�o peguei uma coisa ainda, por exemplo, em termos de c�digo, n�o vi diferen�a (n�o diretamente pelo menos) entre o metodo hidden e um outro static qualquer, digo, mesmo que o m�todo n�o fosse declarado na subclasse, a chamada se manteria igual, ent�o minha d�vida �, em que consiste exatamente "esconder" um m�todo e porque eu poderia fazer isso?

Grato

Carlos

Jose Ferreira de Souza Filho wrote:
21B38BA50352D411A0580004ACEB3E487E8C13@GYNSERV004 type="cite">
Cristiano,
 
                at� concordo com o seu ponto de vista, at� j� tive essa mesma d�vida. Mas a SUN diz o seqguinte:
 
"You cannot override a static method but you can hide it" , ou seja, todas as vezes que falarem sobre m�todos est�ticos, assuma que eles n�o podem ser sobreescritos, mas escondidos, d� uma olhada neste exemplo:
 
 

class MyTest {

   public void myTest() {
         System.out.println("Printing myTest in MyTest class");
   }

   public static void myStat() {   // m�todo est�tico na superclasse
         System.out.println("Printing myStat in MyTest class");

   }
}

public class Test extends MyTest {

    public void myTest() {
         System.out.println("Printing myTest in Test class");
   }

   public static void myStat() {  // m�todo est�tico na subclasse
         System.out.println("Printing myStat in Test class");

   }

   public static void main ( String args[] ) {

       MyTest mt = new Test();
       mt.myTest();
       mt.myStat();
   }

Aparentemente parece que houve uma sobreescrita, mas n�o houve se vc executar este programa vc ver� seguinte sa�da...

"Printing myTest in Test class followed by Printing myStat in MyTest class "

e n�o "Printing myTest in Test class followed by Printing myStat in Test class " , pq na verdade o m�todo foi escondido (hidden) e n�o sobreescrito (overriden).

 Lembre -se do seguinte:

"You cannot override a static method but you can hide it"

 

Espero t�-lo ajudado...

-- 
/**
 * [Carlos H.] - [EMAIL PROTECTED]
 * N�cleo de Inform�tica UNERJ - Centro Universit�rio de Jaragu� do Sul
 * 
 * Imposs�vel � apenas um sin�nimo de Desconhecido.
 */

Responder a