Java Básico 3

Presenter Notes

Constructor y valores iniciales

Los objetos en java pueden contar con un constructor, para esto se agrega un método publico con el mismo nombre que el objeto y no se especifica el tipo de dato devuelvo, ya que implícitamente devuelve el objeto, veamos un par de ejemplos:

1 public class Suma {
2     Integer numero;
3     /**
4     * Constructor del objeto suma
5     **/
6     public Suma() {
7     }
8 }

Tambien podemos pasarle valores que definan las características del nuevo objeto, p.e.

1 Suma sum1 = new Suma();  // Constructor sin argumentos
2 Suma sum2 = new Suma(5); // Constructor con argumentos

Presenter Notes

Sobre carga de métodos.

En un objeto puede haber mas de un método con el mismo nombre siempre y cuando cada prototipo del método sean diferente, esto implica que cada método deberá tener es los argumentos distintos y/o el tipo de dato que devuelven dichos métodos.

Por ejemplo el objeto System.out(PrintStream) tiene sobre cargado el método print, como se puede ver a continuación:

1 void print(boolean b)  //Imprime un valor booleano.
2 void print(char c)     //Imprime un carácter
3 void print(char[] s)   //Imprime un arreglo de caracteres
4 void print(double d)   //Imprime un numero del tipo double.
5 void print(float f)    //Imprime un valor del tipo flotante.
6 void print(int i)      //Imprime un valor entero.
7 void print(long l)     //Imprime un valor long
8 void print(Object obj) //Imprime un objeto (ejecuta toString).
9 void print(String s)   //Imprime un String.

En el los ejemplos anteriores se vio como el objeto Suma, tenia dos constructores uno con argumentos y otro sin argumentos, a esto se le conoce como sobre carga de constructor.

Presenter Notes

Bloque de inicialización:

Cuando vimos el constructor agregamos un constructor con argumentos, existe otra forma de instanciar valores por defecto, esto es definiendo el bloque de inicialización, observe el siguiente ejemplo:

 1 public class Suma {
 2     public Integer numero;
 3     { //Inicio bloque de inicializacion
 4         numero = 5;
 5     } //Fin bloque de inicializacion
 6
 7     /**
 8     * Constructor del objeto suma
 9     **/
10     public Suma() {
11     }
12
13     // Constructor del objeto suma
14     public Suma(int num) {
15         this.numero = num;
16     }
17 }

Prueba:

1 Suma sum1 = new Suma();  // Constructor sin argumentos
2 System.out.println(sum1.numero);
3 Suma sum2 = new Suma(5); // Constructor con argumentos
4 System.out.println(sum2.numero);

Presenter Notes