Java - Problema con herencias y subclases

   
Vista:

Problema con herencias y subclases

Publicado por Louis (3 intervenciones) el 18/01/2013 21:50:02
Hola a todos.
Tengo un problema con esta subclase:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Suplente extends Heren4 {
 
private int porcentaje;
 
public Suplente(String nombre, double salario, String posicion, int numero, int porcentaje) {
 
super(nombre, salario, posicion, numero);
this.porcentaje = porcentaje;
}
 
@Override
public double totalCalcular() {
 
total = salario / porcentaje;
return totalCalcular();
}
 
public double calcularResto() {
 
return getTotal();
}
}



En el Main la quiero utilizar de la siguiente manera:

1
2
3
4
5
6
7
Suplente s = new Suplente("Juan", 25000, "Portero", 22,3);--->Error
System.out.println("Nombre: " + s.getNombre());
System.out.println("Salario: " + s.getSalario());
System.out.println("Posición: " + s.getPosicion());
System.out.println("Número: " + s.getNumero());
s.calcularResto();
System.out.println("Total: " + s.getTotal());


pero me da el siguiente error: "an enclosing instance that contains heren.Heren4.Suplente is required". Esto lo soluciono añadiendo static a la clase, pero al hacer esto no puedo sobreescribir el método totalCalcular().
¿Alguna solución? ¿Por qué tengo que poner la subclase como estática?
Gracias de un principiante
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema con herencias y subclases

Publicado por Tom (911 intervenciones) el 19/01/2013 17:31:30
Parece que has omitido en tu explicación, que se trata de una "inner class". Léete esto:

http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html

En todo caso, prueba a definirla como cualquier otra "outer class".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar