Java - Ayuda, crear clase desde otra clase

   
Vista:

Ayuda, crear clase desde otra clase

Publicado por Daniel (1 intervención) el 20/12/2013 13:58:31
Veamos, yo creo un proyecto java, dentro creo un paquete, y en ese paquete hago dos clases.

Una clase la llamo
abce:
y en ella escribo
1
2
3
public class abce {
	public static int x=2;
}

y la otra clase la llamo pruebaProb, y en ella escribo
1
2
3
4
5
6
7
public class pruebaprob {
	public static void main(String[] args) {
 
		abce prueba= new abce();
		System.out.println(prueba.x);
	}
}

Hasta ahí lo que yo entiendo es que desde el método main de pruebaProb creo un tipo de dato abce llamado prueba, que contiene la variable indexada de tipo entero x.

Pero si cambio la clase abce, y en ella escribo esto:

1
2
3
4
5
6
7
public class abce {
	public static int x=2;
public abce() {
	System.out.println("abc");
	System.out.println(x);
        }
}

al ejecutar en la clase pruebaProb este código:
1
2
3
4
5
6
7
public class pruebaprob {
	public static void main(String[] args) {
 
		abce prueba= new abce();
		System.out.println(prueba.x);
	}
}

Se imprime tanto abc, como x, como se imprime la variable x otra vez.

¿Para qué sirve el public abce() dentro de la clase abce ? ¿Qué efecto tiene cuando desde el main de pruebaprob escribo
abce prueba= new abce(); ?

Muchas gracias.
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

Ayuda, crear clase desde otra clase

Publicado por Diego (28 intervenciones) el 21/12/2013 14:00:15
Hola Dani,

¿Para qué sirve el public abce() dentro de la clase abce ?
-Es el constructor de la clase, contiene los atributos de la clase.

¿Qué efecto tiene cuando desde el main de pruebaprob escribo abce prueba= new abce(); ?
-Pues, estás creando un nuevo objeto llamado 'prueba' instanciando la clase "abce".

Te recomiendo que mires algún libro de Java

http://www.uned.es/infor-3-programacion-concurrente/CDROM/Java/Aprenda%20Java%20como%20si%20estuviera%20en%20primero.pdf
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
Imágen de perfil de OverDaRt

Ayuda, crear clase desde otra clase

Publicado por OverDaRt (2 intervenciones) el 22/12/2013 03:34:29
Como te comenta Diego:


1
2
3
4
5
6
public class abce {
	public static int x=2;
public abce() {
	System.out.println("abc");
	System.out.println(x);
        }

En este caso public abce es un constructor de clase, que quiere decir esto, a grandes rasgos un constructor de clase son las sentencias que se ejecutan implicitamente cuando tu realizas el new abce(); , además el constructor debe tener el mismo nombre que la clase, todas las clases tiene un constructor aunque tu no lo especifiques, en tu primer código:
1
2
3
public class abce {
	public static int x=2;
}

El constructor por defecto de tu clase sería
1
2
3
4
public abce()
{
 
}

Por este motivo al ejecutar tras el creado la sentencia print otra vez te imprime dos veces.
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