Foros del Web » Programación para mayores de 30 ;) » Java »

problemas con herencia

Estas en el tema de problemas con herencia en el foro de Java en Foros del Web. tengo una duda a ver si me ayudan please ClsClaseHerencia.java ---------------------------- package certificacion; public class ClsClaseHerencia { private String nombre; public String apellido="apellidoherencia"; public String ...
  #1 (permalink)  
Antiguo 10/05/2009, 08:54
 
Fecha de Ingreso: noviembre-2008
Ubicación: Lima
Mensajes: 48
Antigüedad: 15 años, 5 meses
Puntos: 2
De acuerdo problemas con herencia

tengo una duda a ver si me ayudan please

ClsClaseHerencia.java
----------------------------

package certificacion;
public class ClsClaseHerencia {
private String nombre;
public String apellido="apellidoherencia";

public String recuperaNombre(){
return this.nombre;
}

public String recuperaApellido(){
return this.apellido;
}

}




Pruebas.java
-----------------

package certificacion;
public class Pruebas extends ClsClaseHerencia {
String apellido="apellido";
public static void main(String[] args) {
Pruebas obj=new Pruebas();
System.out.println("el apellido es "+obj.recuperaApellido() );
System.out.println("el apellido es "+super.apellido);//sale error
}

}


sale este error al momento de compilacion

non-static variable super cannot be referenced from a static context



alguna idea
  #2 (permalink)  
Antiguo 10/05/2009, 09:34
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: problemas con herencia

pues el compilador te lo esta diciendo todo, una variable no estatica no puede ser referenciada desde un contexto estatico, que quiere decir, que la variable de instancia apellido de la clase ClsClaseHerencia no es estatica y te dice que la referencias desde un contexto estatico que es el main, como arreglarlo:

1.- declara la variable como estatica, pero antes de, checa cuales son las caracteristicas de estas variables

2.- maneja la variable fuera del main

Saludos
  #3 (permalink)  
Antiguo 10/05/2009, 22:22
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: problemas con herencia

Mira primero hay varios errores en tu codigo:

Código:
package certificacion;
public class Pruebas extends ClsClaseHerencia {
   String apellido="apellido";
   public static void main(String[] args) {
      Pruebas obj=new Pruebas();
      System.out.println("el apellido es "+obj.recuperaApellido() );
      System.out.println("el apellido es "+super.apellido);//sale error
   }
}
Si quieres imprimir el apellido en ese codigo debes poner obj.apellido, si deseas usar la variable apellido sin necesidad de instancia la clase pues como te dijeron arriba declara la variable como static. asi lo podrias llamar por ejemplo

ClsClaseHerencia.apellido
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:02.