Hola!
Estoy realizando un programilla que usa una interfaz y que cuando voy a implementar un metodo que deberia de llamar a los metodos que implementan dicha interfaz, el Netbeans me saca el siguiente error :
cannot find simbol
symbol : method dondeIR()
location: class packTurismo.Visita
vereis :
tengo una interface IExtra --> la declaro. el metodo de la intefaz es --> public boolean dondeIR();
Tengo una clase llamada Alternativa que hereda de una llamada Basica y un metodo de esta clase implementa dicha interfaz.
public class Alternativa extends Basica implements IExtra
{
.....
public boolean dondeIR()
{
if (this.irSidreria)
{
return true;
}
else
return false;
}
}
Tengo tambien otra clase llamada DoceHorasGastronomica que hereda de una llamada DoceHoras y un metodo de esta clase implementa dicha interfaz.
public class DoceHorasGastronomica extends DoceHoras implements IExtra
{........
public boolean dondeIR()
{
if (this.irSidreria)
{
return true;
}
else
return false;
}
}
Despues tengo en otra clase otro metodo que va a llamar a las clases dentro de la jerarquia, que hayan implementado dicho metodo.
public void cuantosVan(Date pFecha)
{
......
while(it.hasNext())
{
v=(Visita)it.next();
if (v.getFecha().compareTo(p)==0)
{
encontrado=true;
}
if (encontrado)
{
if (v instanceof IExtra)
{
if (v.dondeIR())
{
alaSidre++;
}
else
alaTxako++;
}
}
encontrado=false;
}
...
}
El error me lo da en la linea enmarcada en negrita, que es donde el Netbeans saca una bombilla para sugerirme que cree ese metodo en la superclase sobre la que heredan todas las demas clases. Dicha superclase es abstracta.
Y yo no quiero hacer eso , yo quiero que el programa recorra todas las clases, pero que utilice la interfaz que yo he declarado, para esas 2 clases y que de esta forma distinga de las clases que no utilizan esa interfaz.
No se donde fallo.
A ver si me podeis echar una mano.
S2.