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.
"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."
¿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:
Acá vemos una clase con el constructor por defecto es decir sin declarar el constructor. |
La llamada al constructor por default. |
Constructor Java sobrecargado:
Se puede apreciar el constructor Persona() y su sobre carga, el constructor Persona(String nombre). |
La llamada al constructor por sobre carga. |
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. |
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:
gracias por las publicaciones
ResponderEliminarDe nada Hector la idea es contribuir al saber general cualquier cosa que necesites avísame saludos!
EliminarHola,
ResponderEliminarmuchas 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
Hola Cristian fijate si este ejemplo te sirve, lo acabo de diseñar para vos :D.
Eliminarpublic 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
Hola me podrian ayudar explicandome la diferencia del metodo constructor y destructor porfavor. tengo una exposicion y necesito explicar como funciona.
ResponderEliminarMuchas gracias. Buen Blog!!
Me falto decir que si me lo pueden explicar en un ejercicio corto de unas 4 o 5 lineas.
EliminarHola, 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.
EliminarPor otro lado ahi esta explicado claramente en las imagenes. mas corto no se puede hacer.
Saludos
Este comentario ha sido eliminado por el autor.
ResponderEliminarHola, 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