miércoles, 30 de abril de 2008

otros usos del famoso this

En general se utiliza mucho para el famoso set o usus parecidos.

1.- referencia al objeto actual

public class referencia {

int i=0;


public referencia incrementar(){
i++;
return this; // hace referencia del mismo objeto

}

public void print(){

System.out.println("referencia :"+i);
}

public static void main(String[] arg){

referencia r=new referencia();

r.incrementar().incrementar().incrementar().incrementar();

r.print();
}
}

------------------------------------------------------------------------

2.- LLamadas de un contructor a otro

public class ejemplo {

public ejemplo()
{
this("hola");
}

public ejemplo(String palabra) //sobrecarga de contructor
{
System.out.println("salida : "+palabra);
}

}

public class llamada {

public static void main(String[] arg){

new ejemplo();

}
}

salida : hola

martes, 29 de abril de 2008

La asignacion de objetos

La asignacion de objetos en java tiene una gran observacion que hay que tener en cuenta , este tema muy sencillo puede crear un gran problema al momento de programar

veamos el siguiente ejemplo.

/////////////////////// primera clase //////////////////////
public class numero {

public int i;

public numero() {
}
}

//////////////////////////////////////////////////////////


// la asignacion de tipos primitivos es muy sencilla puesto y directa ,
// dado que alberga el valor actual y no se utiliza referencias de objetos ,
// cuando se asignan primitivos se copian los contenidos de un sitio a otro.

public class asignacion {

public asignacion() {
}

public static void main(String[] jorge){

numero n1=new numero();
numero n2=new numero();

n1.i=1;
n2.i=2;
System.out.println("n1.i :"+n1.i+", n2.i:"+n2.i);

n1=n2;
// no se copian los valores , sino las referencias del objeto

System.out.println("n1.i :"+n1.i+", n2.i:"+n2.i);

n1.i=27;

//en este momento realmente estamos modificando el n2
// puesto que la referencia de n1 se perdio y apunta a n2

System.out.println("n1.i :"+n1.i+", n2.i:"+n2.i);
// supuestamente tendria que salir
//n1.i: 27 , n2.i:2
// pero sorpresa

}
}


Salida :

n1.i :1, n2.i:2
n1.i :2, n2.i:2
n1.i :27, n2.i:27

bueno si no soy muy claro , pueden hacer un seguimiento del ejemplo y solos se daran cuenta del problema de asignacion

lunes, 28 de abril de 2008

Campeonato JAVACUP


Les cuento que le heche una mirada y realmente es muy interesante este campeonato y se puede aprender mucho, puesto que te dan todos los codigos y te lo explican con videos muy sencillos




Para mayor informacion
http://javahispano.org/contenidos/es/comienza_la_javacup_2008/