Cómo herdo valores??

Rosalia
31 de Diciembre del 2003
no se como heredar valores de las variables de una clase a otra me ayudan??

esque tengo un .class que me hace la conexión a una bd y ahora necesito que el valor de la conexión pueda utilizarlo en otro .class es mas a la hora de hacer click en un botón necesito hacer uso del valor de la varibale. asi mismo necesito heredar otros valores.


para no poner un codigo grandote lo resumo en este, la idea final es la misma.

clase en la que quiero poner mis variables globales
public class Class_1 {

public String p;

}


clase en la que asigno el valor a una de mis variables globales.

public class Cla extends Class_1{
public String c="c";

public static void main(String db_str[]) {
Class_1 h= new Class_1();
h.p="p";

}
}

clase en la que necesito el valor que asigne en la clase anterior, mas sin enbargo me da null


public class hereda extends Cla {

public static void main(String[] args) {
Cla h= new Cla();
System.out.println("prueba de herencia");
System.out.println(h.p); //imprime nulo, cuando lo que quiero es que me imprima el valor de p
System.out.println(h.c);

}


En dónde estoy mal? no estoy referenciando bien la variable?, cómo lo hago?
se lo agradeceré de antemando

mil gracias!!!

saludos

daavich
31 de Diciembre del 2003
El problema es que al crear el objeto h de la clase Cla dentro de la clase Cla, se llama al constructor por defecto de la clase Cla y como muestras en el código no hay tal por lo que se toma un constructor que no hace nada. Además donde inicializas el atributo heredado p en la clase Cla es en el método main que creo que no se va a ejecutar ya que es el proceso que se toma cuando la ejecución de la aplicación se inicia en la clase Cla. Si ese mismo código estubiera en el constructor sí tendrías inicializada el atributo p.
De todas maneras creo que tienes problemas con los conceptos de herencia ya que si estás heredando en la clase hereda la clase Cla no tendrías porqué crear un objeto de esa misma clase.

Saludos y felices fiestas.