|
Caro
colega Jose Ferreira,
e se
eu ter no m�todo main a chamanda:
myStat();
a sa�da ser�
Printing myStat in
Test class
e
n�o
Printing myStat in
MyTest class
isso n�o caracteriza
que o m�todo est�tico foi sobrescrito?
__________________________________
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... |
Title: RES: [java-list] Certificacao BETA
