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
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.
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 }
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);
Java Básico 3 | 1 |
---|---|
Constructor y valores iniciales | 2 |
Sobre carga de métodos. | 3 |
Bloque de inicialización: | 4 |
Table of Contents | t |
---|---|
Exposé | ESC |
Full screen slides | e |
Presenter View | p |
Source Files | s |
Slide Numbers | n |
Toggle screen blanking | b |
Show/hide slide context | c |
Notes | 2 |
Help | h |