Métodos: Constructor, SobreCarga y Tipos de Retorno

El Método Constructor

El Constructor es un método especial de una clase, que lleva prestado el mismo nombre de la clase, no tiene un tipo de retorno, suele ser público para ser llamado en cualquier parte donde se crean objetos, es llamado automáticamente cuando se crean objetos pero no puede se llamado en otro lado.

  • Es un método especial
  • Es llamado automaticamente al crear objetos, no se puede ser llamado en otro lugar
  • No tiene tipo de retorno
  • Suele ser public

El objetivo del constructor es localizar espacio de memoria para el objeto creado, inicialia la variables del objeto aun que sea sus valores por defecto(0,false,null), para este caso usamos un constructor con parametros:

  1. public class Constructor {
  2.     String nombre;
  3.     long numero;
  4.    
  5.     public Constructor(String cadena, long enteroLargo){
  6.         nombre = cadena;
  7.         numero = enteroLargo;
  8.     }  
  9.     public static void main(String[] args) {
  10.         Constructor objeto = new Constructor("Jupiter", 778330000);
  11.         System.out.print(objeto.nombre + " se distancia de la tierra en ");
  12.         System.out.println(objeto.numero + " Kms.\n");
  13.        
  14.         Constructor objeto2 = new Constructor("Urano",  2870990000L);
  15.         System.out.print(objeto2.nombre + " se distancia de la tierra en ");
  16.         System.out.println(objeto2.numero + " Kms.");
  17.     }
  18. }

NOTA: si no creamos un constructor, se nos creará uno por defecto sin parametros, pero al declarar uno si o si tenemos que escribirlo expresamente.

Para este otro ejemplo al no inicializar las variables, y no escribir un constructor, se nos creará uno por defecto e inicializará con los valores por defecto también:

  1. public class Constructor {
  2.     String nombre;
  3.     long numero;
  4.    
  5.     public static void main(String[] args) {
  6.         Constructor objeto = new Constructor();
  7.         System.out.print(objeto.nombre + " se distancia de la tierra en ");
  8.         System.out.println(objeto.numero + " Kms.");
  9.     }
  10. }

El resultado será:

  • null se distancia de la tierra en 0 Kms.

El operador new

Es quien crea el nuevo objeto y llama al constructor para inicializar las variables

  • new Constructor("Jupiter", 778330000);

Constructor ...y existe el Desctructor?

El destructor se utiliza para destruir una instancia de una clase y liberar memoria. En Java NO hay destructores, ya que la liberación de memoria es llevada acabo por el Garbage Collector cuando las instancias de los objetos quedan desreferenciadas. El método dispose() de cada objeto se llama previo a ser “recolectado”.

SobreCarga de Métodos

La sobre carga de métodos nos permite tener varios métodos con el mismo nombre pero con distinta firma. La firma sería la forma de declararlo. En el siguiente ejemplo voy a usar el método:
  • public void mostrar()
  • public void mostrar(String cadena)
Sin bien son iguales cambiar sus parámetros y con ello cambia la forma de llamarlo.
  1. package sobrecarga;
  2. public class SobreCarga {
  3.    
  4.     public void mostrar(){
  5.         System.out.println("La felicidad no es hacer siempre lo que se quiere");
  6.     }
  7.     public void mostrar(String cadena){
  8.         System.out.println(cadena);
  9.     }
  10.    
  11.     public static void main(String[] args) {
  12.         SobreCarga sc = new SobreCarga();
  13.         sc.mostrar();
  14.         sc.mostrar("sino querer siempre lo que se hace.");
  15.     }
  16. }

Asi en la línea 14 llamo al método de la línea 5, y en la línea 15 llamo al método de la línea 8

  • La felicidad no es hacer siempre lo que se quiere sino querer siempre lo que se hace.

Tipos de Retorno

Parte de la firma de los métodos es el tipo de retorno que junto al nombre deben ser obligatorios.

Ejemplos Varios:

  • public static void main(String[] args)
  • private String cadena()
  • void numerosPrimos(int unNumero)

Nuestros métodos pueden ser de 2 tipos de retornos:

  • Sin retorno (void)
  • Con Retorno (obtejo o primitivas): necesita return + tipo de retorno
  1. public class TipoRetorno {
  2.     String cadena = "Devuelve este String";
  3.     public void sinRetorno(){
  4.         System.out.println("Ejecutaciones acciones por su cuenta");
  5.     }
  6.     public String conRetorno(){
  7.         return cadena;
  8.     }
  9.     public static void main(String[] args) {
  10.         TipoRetorno objeto = new TipoRetorno();
  11.         objeto.sinRetorno();
  12.         System.out.println(objeto.conRetorno());
  13.     }
  14. }

No hay comentarios:

Publicar un comentario