Java - Obtener variables de otra clase

   
Vista:

Obtener variables de otra clase

Publicado por Ricardo (12 intervenciones) el 02/10/2007 07:45:54
Buenas, mi pregunta es la siguiente, digamos que tengo una clase, que llama a un metodo de otra clase por medio de un new de la siguiente forma:

Clase1 c1 = new Clase1();

resulta que este metodo sirve para calcular una variable q necesito utilizar, alguien me puede decir como hago para llamar a esta variable desde la nueva clase?
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

RE:Obtener variables de otra clase

Publicado por angel (537 intervenciones) el 02/10/2007 10:20:43
Hola, la forma mas normal de acceder a variables de otra clase es mediante metodos set y get. Un ejemplo

class Clase1{
private String var1;

public void setVar1(String var1){
this.var1=var1;
}

public String getVar1(){
return this.var1;
}

public void modificarValorVar1(){
this.var1 = "cambiado valor de var1";
}
}

class Clase2{
public static void main(String[] args){
Clase1 c1=new Clase1();
//Metodo modificar valor
c1.modificarValorVar1();
//Obtener el valor
String valorVar1=c1.getVar1();
}

}

Saludos
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

RE:Obtener variables de otra clase

Publicado por Ricardo (12 intervenciones) el 03/10/2007 07:11:04
Hola de nuevo

lamento la molestadera... pero soy muy nuevo en esto y necesito un poco de ayuda.... esta es basicamente la clase de la cual quiero extraer especificamente la variable z....

class UltimateDice{
int x;
int y;
int z;

public UltimateDice(){
JFrame frm1 = new JFrame("Dados");

Random rnd1 = new Random();
x= (int)(rnd1.nextDouble()*6.0+1);
y= (int)(rnd1.nextDouble()*6.0+1);
z=x+y;
return z;
}

ciertamente el Frame contiene mas elementos, pero todos son manejados por estas variables, al intentar ejecutar esto me resulta un error del siguiente tipo:

"cannot return a value from method whose result type is void"

sin embargo esta clase se ejecuta perfectamente si el "return z;" tambien desde otra clase con un new.
UltimateDice UD = new UltimateDice();
UltimateDice.dar_z(); //esta es la parte que no me funciona :(

alguien sabe como lo puedo solucionar?
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

RE:Obtener variables de otra clase

Publicado por angel (537 intervenciones) el 03/10/2007 08:31:33
Un constructor no puede devolver valores.
Para recuperar el valor de "z", crea un metodo para ello y llamalo despues desde la clase que quieras una vez hayas llamado el constructor

//Metodo par recuperar z
public int getZ(){
return z;
}

//EN otra clase, para recuperar el valor de z
UltimateDice UD = new UltimateDice();
int zz = UltimateDice.getZ();

Saludos
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