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() {
public static void myStat()
{ //método estático na superclasse public class Test extends MyTest { public void myTest() {
public static void myStat()
{ //método estático na subclasse public static void main ( String args[] ) { MyTest mt = new
Test(); 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... |
=?iso-8859-1?Q?RES=3A_=5Bjava-list=5D_D=FAvida_quest=E3o_de_Ce?==?iso-8859-1?Q?rtificacao=3F?=
Jose Ferreira de Souza Filho Tue, 28 May 2002 13:42:28 -0700
Title: RES: [java-list] Certificacao BETA
- Re: RES: [java-list] Dúvida questão de Certific... Jose Ferreira de Souza Filho