JavaPlayer - Constructores en Java - ¿Que es un constructor Java? - Funcionamiento del constructor Java - Características del constructor Java - Constructor Java por defecto - Constructor Java copia

Hola hoy veremos los constructores en java.

¿Que es un constructor Java?

Un constructor es un método especial de una clase que se llama automáticamente siempre que se declara un objeto de esa clase.
La principal misión del constructor es reservar memoria e inicial izar las variables miembros de la clase.

Funcionamiento del constructor Java

Cuando se crea un objeto en java se realiza las siguientes operaciones de forma automática:
  • Se asigna memoria para el objeto.
  • Se inicializa los atributos de estos objetos con los valores predeterminados por el sistema.
  • Se llama al constructor de la clase que puede ser uno entre varios.

Características del constructor Java

  • Debe tener el mismo nombre que la clase a la que pertenece.
  • En una clase puede haber varios constructores con el mismo nombre y con distinta cantidad o tipos de argumentos. Es decir permite sobrecarga.
  • Los constructores no se heredan.
  • Un constructor no puede devolver ningún valor incluyendo el void.
  • Un constructor debería declararse publico, para que pueda ser invocado desde cualquier parte donde se desee crear un objeto de su clase.
  • Es el primer método que se ejecuta.
  • Se ejecuta de forma automática.

Constructor Java por defecto

Si para una clase no se define ningún método constructor se crea uno automáticamente por defecto.El constructor por defecto es un constructor sin parámetros que no hace nada. Los atributos del objeto son iniciados con los valores predeterminados por el sistema.
Este tipo de constructor se lo llama como constructor no-args, ya que no recibe parámetros.

Constructor Java copia

Es un constructor que recibe por parámetro un objeto del mismo tipo de la clase, asignando atributo por atributo al nuevo objeto generado.

Ejemplos

Constructor Java por default:
Constructor Java por default
Acá vemos una clase con el constructor por defecto es decir sin declarar el constructor.
Constructor Java por default
La llamada al constructor por default.
Constructor Java sobrecargado:

Constructor Java sobrecargado
Se puede apreciar el  constructor Persona() y su sobre carga, el constructor Persona(String nombre).
Constructor Java sobrecargado:
La llamada al constructor por sobre carga.

Constructor Java Copia

Constructor Java Copia
Este constructor recibe por parámetro un objeto del tipo Persona y asigna los valores de la persona pasada por parámetros a la nueva instancia de la persona.

"Tenemos que tener en cuenta que si una clase le asignamos un solo constructor estamos modificando el constructor por default lo cual no vemos obligados a utilizar ese constructor y no el default."
JavaPlayer - Constructores en Java - ¿Que es un constructor Java? - Funcionamiento del constructor Java - Características del constructor Java - Constructor Java por defecto - Constructor Java copia JavaPlayer - Constructores en Java - ¿Que es un constructor Java? - Funcionamiento del constructor Java - Características del constructor Java - Constructor Java por defecto - Constructor Java copia Reviewed by El lado oscuro de java on diciembre 03, 2013 Rating: 5

9 comentarios:

  1. gracias por las publicaciones

    ResponderEliminar
    Respuestas
    1. De nada Hector la idea es contribuir al saber general cualquier cosa que necesites avísame saludos!

      Eliminar
  2. Hola,
    muchas gracias por tus publicaciones, me gustaría preguntarte como haces si quieres construir un constructor copia en la clase hija, me explico: si tenemos una clase padre con nombre y apellidos(con sus respectivos constructores, copia, get, set y toString) y luego una clase hija que tiene los documentos y es aquí que quiero hacer un constructor copia, cómo sería?

    public Documento(Documento d){
    this.setNombre(super.getNombre());
    this.setApellidos(super.getApellidos());
    this.documento = d.documento;
    }

    He pensado en algo así,pero me da errores, me sería de gran ayuda tu respuesta.

    Muchas gracias

    ResponderEliminar
    Respuestas
    1. Hola Cristian fijate si este ejemplo te sirve, lo acabo de diseñar para vos :D.


      public class CreadorMain {

      /**
      * @param args
      */
      public static void main(String[] args) {
      Persona p = new Persona();
      p.setApellido("CODDE");
      p.setNombre("Nico");

      PersonaConDNI pDNI = new PersonaConDNI(p, "321323212");

      pDNI.toString();

      }

      }


      public class Persona {

      private String nombre;
      private String apellido;

      public Persona(){};

      public Persona (Persona p){
      this.nombre = p.nombre;
      this.apellido = p.apellido;
      }

      /**
      * @return the nombre
      */
      public String getNombre() {
      return nombre;
      }

      /**
      * @param nombre the nombre to set
      */
      public void setNombre(String nombre) {
      this.nombre = nombre;
      }

      /**
      * @return the apellido
      */
      public String getApellido() {
      return apellido;
      }

      /**
      * @param apellido the apellido to set
      */
      public void setApellido(String apellido) {
      this.apellido = apellido;
      }

      }

      public class PersonaConDNI extends Persona {

      private String DNI;

      public PersonaConDNI(){};

      public PersonaConDNI(Persona p, String DNI) {
      super(p);
      this.DNI = DNI;

      }

      /**
      * @return the dNI
      */
      public String getDNI() {
      return DNI;
      }

      /**
      * @param dNI the dNI to set
      */
      public void setDNI(String dNI) {
      DNI = dNI;
      }


      @Override
      public String toString(){
      System.out.println( "Apellido: " + super.getApellido() + " Nombre: " + super.getNombre() + " DNI: " + getDNI());
      return "Apellido: " + super.getApellido() + " Nombre: " + super.getNombre() + " DNI: " + getDNI();
      }

      }

      Cualquier cosa avisame son 3 clases java

      Eliminar
  3. Hola me podrian ayudar explicandome la diferencia del metodo constructor y destructor porfavor. tengo una exposicion y necesito explicar como funciona.
    Muchas gracias. Buen Blog!!

    ResponderEliminar
    Respuestas
    1. Me falto decir que si me lo pueden explicar en un ejercicio corto de unas 4 o 5 lineas.

      Eliminar
    2. Hola, constructor es para cuando se cree en memoria la clase, es decir cuando se instancie es el punto de entrar a crear la clase, el destructor es el eliminador de la instancia en la memoria.

      Por otro lado ahi esta explicado claramente en las imagenes. mas corto no se puede hacer.

      Saludos

      Eliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  5. Hola, espero puedan ayudarme.. ¿Cómo podría copiar una lista con nodos mediante un constructor copia? Es para una tarea y aún no logro hacerlo :(

    ResponderEliminar

Con la tecnología de Blogger.