Sobreescritura de metodos. Ayuda!!!

View: New views
1 Messages — Rating Filter:   Alert me  

Sobreescritura de metodos. Ayuda!!!

by MrFishKill :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hola,

imaginaos este codigo:

public class Y
{
 ...
}

public class Z extends Y
{
 ...
}

abstract public class A
{
     public abstract void metodo1(Y y);
}

public class B extends A
{
    @ Override
     public  void metodo1(Y y)
     {
       Z z = (Z)y;
          .....
     }
}
...
...
public static void main(String[] args)
{
      B b= new B();
      Z z = new Z();
      b.metodo1(z);
}
 

Funciona OK ¿verdad?

¿Pero no hay alguna forma de evitar el casting  Z z = (Z)y?

Ya se que si sobreescribes un metodo el tipo de argumentos han de ser del mismo tipo. Pero en este caso yo quiero pasarle un argumento Z que extiende de Y. Y dentro del metodo1 he de hacer casting..

¿¿No puede solucionarse esto mediante GENERICS y evitarme el casting???

 Saludos
LightInTheBox - Buy quality products at wholesale price