Creo que debo de tener alguna duda de concepto. Les agradecería que le dieran un vistazo y me expliquen que es lo ocurre.
Gracias por su tiempo.
Código PHP:
// Prueba.java
class Prueba{
int x=0;
String y="valor por defecto";
Prueba (int x, String y){
this.x=x;
this.y=y;
System.out.println ("Estamos en el primer constructor");
}
Prueba (int x){
this (x,"valor arbritrario"); //Esta es la parte que cambia
System.out.println ("Estamos en el segundo constructor");
}
public static void main(String[]args){
Prueba prb=new Prueba (5 , "nuevo valor");
System.out.println("Primer constructor: " + prb.x + " y " + prb.y + "\n");
Prueba prb2=new Prueba (10);
System.out.println("Segundo constructor: " + prb2.x + " y " + prb2.y);
}
}
/*Devuelve:
*Estamos en el primer constructor
*Primer constructor: 5 y nuevo valor
*
*Estamos en el primer constructor
*Estamos en el segundo constructor
*Segundo constructor: 10 y valor arbritrario
Como pueden ver en la última línea esta programa SI hace lo que quiero*/
Código PHP:
// Prueba.java
class Prueba{
int x=0;
String y="valor por defecto";
Prueba (int x, String y){
this.x=x;
this.y=y;
System.out.println ("Estamos en el primer constructor");
}
Prueba (int x){
new Prueba (x,"valor arbritrario"); //Esta es la parte que cambia
System.out.println ("Estamos en el segundo constructor");
}
public static void main(String[]args){
Prueba prb=new Prueba (5 , "nuevo valor");
System.out.println("Primer constructor: " + prb.x + " y " + prb.y + "\n");
Prueba prb2=new Prueba (10);
System.out.println("Segundo constructor: " + prb2.x + " y " + prb2.y);
}
}
/*Devuelve:
*Estamos en el primer constructor
*Primer constructor: 5 y nuevo valor
*
*Estamos en el primer constructor
*Estamos en el segundo constructor
*Segundo constructor: 0 y valor por defecto
Como pueden ver en la última línea esta programa NO hace lo que quiero*/