Grato
Carlos
Jose Ferreira de Souza Filho wrote:
21B38BA50352D411A0580004ACEB3E487E8C13@GYNSERV004">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. */