Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > pasar datos de una variable de una clase a otra

Hola a todos, tenía dos dudillas que me traen un poco de cabeza, a ver si alguien puede ayudarme, muchas grácias

Tengo dos clases, una a y otra b.

la clase b asigno un número de butacas en el constructor y además tiene un método para devolver el valor, denominado getButacas.

Ahora lo que quiero es en la clase b coger el valor de butacas que asigne en la clase a mediante un .get, pero no me compila

Adjunto el código de las dos clases

public class a{
private int butacas;
private b bes;

public a(int butacas){
this.butacas=butacas;}

public int getButacas(){return butacas;}
}

public class b{
private int butacs;

public b(){

}
public int getbutacs(){return butacs;}
public void setButacs(){
butacas.getButacas();
}
}

junio 24, 2015 | Unregistered CommenterRuben

Podría ser que no te compile porque tengas el ordenador/computador apagado. :-) O quizá no, pero como no nos has dicho qué mensaje de error obtienes al compilar, no podemos darte una respuesta más concreta. Por favor, acostumbraos a dar información que facilite el diagnóstico y demuestre que habéis intentado solucionar el problema antes de acudir a pedir ayuda. Eso hará mucho más probable que obtengáis respuestas útiles.

En cuanto al código que publicas, yo veo dos problemas:

La clase a tiene una propiedad b (bes) privada, pero no has implementado métodos get/set para ella, de manera que no podrías hacer uso de esa propiedad; ni podrás asignarle valor, ni leerlo.

El otro problema, los otros problemas, para ser exactos, están en la clase b. Su constructor, contrariamente a lo que dices tú, no acepta ningún valor ni lo asigna a ninguna propiedad. Además, la propiedad butacs tiene un método getter que devuelve su valor, lo cual es correcto, pero el setter (setButacas()) ni acepta un parámetro con el valor que se quiere establecer, ni asigna valor alguno a butacs. Lo único que hace es invocar un método de un objeto "butacas" (que probablemente no existe) sin asignar el valor que quizá devuelva a nadie.

Vas a tener también problemas de visibilidad entre ambas clases, pero sin ver más código es difícil orientarte. Mis sugerencias son (las dos primeras son de estilo, para hacer más fácil leer tu código; cuanto antes te acostumbres, mejor):

* Cambia el nombre a las clases para que la primera letra sea mayúscula. En tu caso, las clases deberían llamarse A y B, no a y b.

* Respeta las convenciones de nombrado de los métodos. A.getButacas() está bien, pero B.getbutacs() no, debería ser B.getButacs().

* Revisa bien lo que pretendes hacer con la clase B.

* Haz un miniprogramita que use objetos de las dos clases, para que realmente tengas algo que compilar y ejecutar (estas clases no hacen nada mientras no se creen objetos de ellas y se invoquen sus métodos).

* Cuando nos escribas de nuevo, asegúrate de publicar el código, de decirnos el error exacto que obtienes, en qué línea de qué clase y en qué momento (al compilar o al ejecutar).

Muy probablemente necesitas leer alguno de los muchos cursos que hay sobre Java.

junio 26, 2015 | Registered Commenterrickiees