necesisto saber el error, es polimorfismo
public abstract class Valetparking
{
public void estacionar ();
{
public abstract String puesto="Valetparking";
}
public class examina extends Valetparking
{
public void identica (Valetparking p)
{
p.estacionar();
}
}
public class gerente extends Valetparking
{
public String puesto="gerente";
}
public class mesero extends Valetparking
{
public String puesto="mesero";
}
public class pregunta
{
public static void main (String a[])
{
gerente g=new gerente();
mesero m=new mesero();
examina e=new examina();
e.identifica(m);
e.identifica(g);
}
}
}
{
public void estacionar ();
{
public abstract String puesto="Valetparking";
}
public class examina extends Valetparking
{
public void identica (Valetparking p)
{
p.estacionar();
}
}
public class gerente extends Valetparking
{
public String puesto="gerente";
}
public class mesero extends Valetparking
{
public String puesto="mesero";
}
public class pregunta
{
public static void main (String a[])
{
gerente g=new gerente();
mesero m=new mesero();
examina e=new examina();
e.identifica(m);
e.identifica(g);
}
}
}
No puedes declarar una variable abstracta, en su lugar declara un método abstracto para que devuelva el valor de la variable (o un método concreto si no quieres obligar a que las subclases implementen dicho método):
public abstract String puesto();
o implementándolo en cada clase:
public String puesto(){
return "Valetparking";
}
Si lo que deseas es que cada objeto devuelva un String con el nombre de su clase, declara en la clase base el siguiente método:
public String puesto(){
return getClass().getSimpleName();
}
y sobreescrÃbelo sólo cuando el método puesto() tenga que devolver algo diferente al nombre de la clase. Espero que te sirva.
public abstract String puesto();
o implementándolo en cada clase:
public String puesto(){
return "Valetparking";
}
Si lo que deseas es que cada objeto devuelva un String con el nombre de su clase, declara en la clase base el siguiente método:
public String puesto(){
return getClass().getSimpleName();
}
y sobreescrÃbelo sólo cuando el método puesto() tenga que devolver algo diferente al nombre de la clase. Espero que te sirva.
