0% encontró este documento útil (0 votos)
146 vistas

Constructores en Java - Stack Overflow en Español

El documento explica los constructores en Java. Un constructor es similar a un método pero solo sirve para inicializar objetos al crearlos, no devuelve ningún valor. Los constructores inicializan los atributos de una clase cuando se crea un nuevo objeto. Puede haber múltiples constructores en una clase que difieran en los parámetros que reciben.

Cargado por

Tony Cervantes
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
146 vistas

Constructores en Java - Stack Overflow en Español

El documento explica los constructores en Java. Un constructor es similar a un método pero solo sirve para inicializar objetos al crearlos, no devuelve ningún valor. Los constructores inicializan los atributos de una clase cuando se crea un nuevo objeto. Puede haber múltiples constructores en una clase que difieran en los parámetros que reciben.

Cargado por

Tony Cervantes
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 15

15/10/2018 Constructores en java - Stack Overflow en español

Stack Overflow en español es un sitio de preguntas y


respuestas para programadores y profesionales de la
informática. Únete a ellos; toma menos de un minuto:

Registrarse

Así es como funciona:


Cualquiera puede formular una pregunta
Cualquiera puede responder
Se vota a favor de las mejores respuestas, y éstas suben a los primeros puestos

Constructores en java Formular una pregunta

Hola amigos disculpen


estoy estudiando java y
en las clases el profesor
tocó el tema de los
"constructores java" y la
verdad no entendí bien.

Bueno lo que entendí es


esto:

Un constructor es
similar a un método
pero sólo sirve para
inicializar objetos, no
devuelve ningún tipo
de valor de retorno y
un constructor sirve
para inicializar el
valor de un objeto.

java

editada el 6 oct. 16 a las 12:06


lois6b ♦
6,219 5 20 44

formulada el 6 oct. 16 a las 1:31


Sommer
Al usar este sitio, reconoces haber leido y entendido nuestra Política de Cookies, Política de Privacidad, y
146 2 5 18
nuestros Términos de Servicio.

https://es.stackoverflow.com/questions/26296/constructores-en-java 1/15
15/10/2018 Constructores en java - Stack Overflow en español

un contructor no tiene
retorno, sirve para
iniciar un objeto nuevo
con estado – hubman
el 6 oct. 16 a las 2:04

Osea,ejemplo: Milibros
objeto : New Milibros();
,segun como he leido
un objeto se inicia null
pero un constructor
crear el objeto y le
establece los atributos
,información ? Eso?,
no cuentas con algun
manual de java
constructores?
Disculpa soy novato –
Sommer el 6 oct. 16
a las 2:07

con estado me refiero


a inicializar atributos
de la clase – hubman
el 6 oct. 16 a las 2:09

Gracias por todo,pero


una pregunta por
ejemplo si tengo un
constructor con los
atributos iniciaLizado :
Id ,nombre,edad,pero
por ejemplo si en un
momento del programa
debo cambiar esos
atributos,debo crear
Otro constructor,eso
no sería sobre carga ?
Y tendrá mal
rendimiento mi
programa ? –
Sommer el 6 oct. 16
a las 2:30

el contructor genera el
estado inicial
solamente, de seguro
que habra cambios en
tus atributos pero de
eso se encarga los
metodos que son las
acciones – hubman el
6 oct. 16 a las 2:35

8 respuestas

En java un constructor
es una especie de
método que
Al usar este sitio, reconoces te permite
haber leido y entendido nuestra , ,y
inicializar los atributos
nuestros .
de una clase.
https://es.stackoverflow.com/questions/26296/constructores-en-java 2/15
15/10/2018 Constructores en java - Stack Overflow en español

public class Persona {

private String nombre


private String apelli

public Persona(){

public Persona(String
this.nombre = nom
this.apellido = a
}

// Getters y Setters
}

Como puedes ver en la


clase persona existen
dos constructores, uno
sin parámetros

public Persona() {
}

y otro con parametros

public Persona(String nom


this.nombre = nombre;
this.apellido = apelli
}

La clase Main quedaría


de la siguiente forma:

public class Main {

public static void ma

Persona persona1
persona1.setNombr
persona1.setApell

Persona persona2

System.out.printl
System.out.printl
}
}

La salida sería esta:

Antonio
Luis

Como podrás darte


cuenta para el objeto
persona2 no tuvimos
que acceder a los
métodos get y set para
darle valorhaber
Al usar este sitio, reconoces a susleido y entendido nuestra , ,y
nuestros atributos ya. que lo
creamos a partir del
https://es.stackoverflow.com/questions/26296/constructores-en-java 3/15
15/10/2018 Constructores en java - Stack Overflow en español

constructor con
parametros.

En una clase puedes


tener cuantos
constructores quieras
siempre y cuando los
parámetros que reciban
sean diferentes a los de
otros constructores, ya
sea en cantidad o tipo,
es decir en la clase
persona podríamos
tener:

public Persona(String nom


// Código
}

public Persona(String ape


// Código
}

public Persona (Boolean c


// Código
}

spondida el 6 oct. 16 a las 4:26


Luis Veliz
166 1 8

Lo que entendiste
es correcto!

Un constructor es
similar a un método
pero sirve para
inicializar objetos no
devuelve ningún tipo
de valor de retorno

La definición de la
documentación nos
dice:

Un constructor se
utiliza en la creación
de un objeto que es
una instancia de una
clase. Generalmente
Al usar este sitio, reconoces haberlas
lleva a cabo leido y entendido nuestra , ,y
nuestros operaciones.

https://es.stackoverflow.com/questions/26296/constructores-en-java 4/15
15/10/2018 Constructores en java - Stack Overflow en español

requeridas para
inicializar la clase
antes de que los
métodos sean
invocados o se
acceda a los
campos. Los
constructores nunca
son heredados.

En base a esto
podemos definir
características y
diferencias con
respecto a un
método:

Un constructor
siempre debe tener
el mismo nombre
que la clase.
Un constructor no
tiene un tipo de
retorno por lo cual
no devuelve algún
valor. Un método
puede o no tener un
tipo de valor de
retorno.
Un constructor es
llamado al crearse
una instancia de un
objeto, y esto solo
se realiza una única
vez, a diferencia de
los métodos que
pueden ser
llamados en
múltiples
ocasiones.
Los constructores
nunca son
heredados, ya que
no son
considerados como
miembros de clase.
Esto es una
diferencia
importante con
respecto a los
Al usar este sitio, reconoces haber
métodos yaleido
quey entendido nuestra , ,y
nuestros .

https://es.stackoverflow.com/questions/26296/constructores-en-java 5/15
15/10/2018 Constructores en java - Stack Overflow en español

estos si podrían ser


heredados.
Cuando heredamos
de una clase base,
si no se declara un
constructor, java
automáticamente
llama al constructor
por defecto de la
clase que
heredamos.

Este es un ejemplo
de una clase donde
hacemos referencia
al constructor:

public class Pais {

private String nombre


private int cantidadH

//Constructor, cuando
constructor, como sabemos
public Pais (String n
this.nombre = nom
this.cantidadHabi
//Puedes iniciali
//this.nombre =
//this.cantidadHa
}

//Getters/Setters
//método para obten
public String getNomb
//método para asignar
public void setNombre
this.nombre =
}

//método para obtener


public int getCantida
//método para asignar
public void setCantid
this.cantidad
}

Agrego un interesante
articulo en español:
Definición de
constructores de una
clase.

Agregue al objeto los


métodos get
Al usar este sitio, reconoces y set,
haber leidolos
y entendido nuestra , ,y
nuestros cuales son .simples
métodos que usamos en
https://es.stackoverflow.com/questions/26296/constructores-en-java 6/15
15/10/2018 Constructores en java - Stack Overflow en español

las clases para mostrar


(método get) o modificar
(método set) el valor de
un atributo en la clase .

itada el 7 oct. 16 a las 1:52

spondida el 6 oct. 16 a las 12:52


Jorgesys ♦
57.8k 9 33 78

Muchas gracias por


sus comentarios
,disculpa una última
pregunta ¿ que get y
set? Mientras leeia los
note que los agregaste
? Si no es mucha
molestia me gustaría
saber? – Sommer el
7 oct. 16 a las 1:24

No es molestía, son
conceptos que debes
conocer, agregue a mi
respuesta que son los
métodos get y set,
saludos. – Jorgesys ♦
el 7 oct. 16 a las 1:54

¿ Qué es un
Constructor?

Es un bloque de
código similar a un
método que se llama
cuando se crea una
instancia de un
objeto .

¿ Qué lo diferencia de
un Método ?

Un constructor no
tiene un tipo de
retorno.
El nombre del
constructor debe
ser el mismo que el
Al usar este sitio, reconoces haber
nombre de leido y entendido nuestra
la clase. , ,y
nuestros .

https://es.stackoverflow.com/questions/26296/constructores-en-java 7/15
15/10/2018 Constructores en java - Stack Overflow en español

A diferencia de los
métodos, los
constructores no se
consideran
miembros de una
clase.
Un constructor es
llamado
automáticamente
cuando se crea una
nueva instancia de
un objeto.

Estructura de un
Constructor

/* La palabra reservada
pueden tener acceso a
public NombreClase (Tipo
/* Parametros Separad
{
/* Declaraciones y/o
}

Un constructor
permite proporcionar
valores iniciales para
los
campos(atributos) de
la clase cuando se
instancia un objeto.

public class Persona {


/* Atributos */
private String nombre;
private String apellid

/* En el Constructor de
nombre y apellido
al instanciar un
public Persona(String n
{
this.nombre = name;
this.apellido = lastna
}

Las Instancias se crean


de la siguiente manera ,
esto hará que se llame
automáticamente al
constructor que recibe
dos parámetro de tipo
String

Al usar este sitio, reconoces haber


Persona per leidoPersona
= new y entendido nuestra , ,y
nuestros /* tu objeto
. Persona tend
apellido = Apellido1 *

https://es.stackoverflow.com/questions/26296/constructores-en-java 8/15
15/10/2018 Constructores en java - Stack Overflow en español

Para Leer un Poquito


más a fondo esto , es
importante y siempre
imprescindible leer la
documentación.
https://docs.oracle.com/j
avase/tutorial/reflect/me
mber/ctor.html

Algo más a fondo


https://docs.oracle.com/j
avase/8/docs/api/java/la
ng/reflect/Constructor.ht
ml

itada el 6 oct. 16 a las 20:21


user227

spondida el 6 oct. 16 a las 4:17


Dev. Joel
18.7k 3 13 36

He notado que muchas


cosas que escribes
son tomadas de otros
autores, por ética es
importante dar crédito
a las fuentes de donde
tomas la información. –
Jorgesys ♦ el 6 oct. 16
a las 12:23

@Elenasys con * antes


y despues se hace
cursiva, con ** se hace
negrita – lois6b ♦ el 6
oct. 16 a las 12:23

1 Siempre puedes editar


tu respuesta y
empezar con ésta –
lois6b ♦ el 6 oct. 16 a
las 12:26

su funcion es inicializar
los atributos y objetos
que tiene una clase ya
que si no se inicializan
puede provocar una
excepcion del tipo
NullPointerException
veamos un
Al usar este sitio, reconoces ejemplo
haber leido y entendido nuestra , ,y
nuestros .

https://es.stackoverflow.com/questions/26296/constructores-en-java 9/15
15/10/2018 Constructores en java - Stack Overflow en español

public class Ciudad{


private int codigo;

//aqui el constructor
public Ciudad(){
codigo="123"; //asigna

//tambien puedes ejecu


se ejecute una accion al
bienvenida en consola
System.out.println("bi
}
}

si creas un objeto de
esta clase veras que se
inicializa el codigo en
123 y se muestra el
mensaje en la consola
suerte!

spondida el 10 abr. 17 a las 20:53


Jesus Antonio Quintero
Cardona
146 5

Segun mi perspectiva y
con el fin de aportar a tu
duda

Un constructor, como su
nombre lo dice, es un
bloque de código que se
encarga de crear una
instancia o inicializar un
objeto de una clase
determinada. Cada
clase tiene o debería
tener ciertos atributos
que lo diferencian de
otras clases (por ende
de otros objetos). Los
constructores no tienen
tipo (void, static, etc) ni
tampoco retornar un
valor, su función es
siempre inicializar todos
las propiedades o
atributos de la clase en
cuestion. No
necesariamente siempre
tienen quehaber
Al usar este sitio, reconoces llevar valores
leido y entendido nuestra , ,y
nuestros especificos, . por
ejemplo, un valor de una
https://es.stackoverflow.com/questions/26296/constructores-en-java 10/15
15/10/2018 Constructores en java - Stack Overflow en español

propiedad si lo
deseamos (aunque no
veo bien el caso)
podemos iniciarla como
null en caso de objetos,
en 0 en tipos numeros o
en "" en tipos de texto.
Hay dos tipos de
constructores, con y sin
parametros.

Ejemplo :

Tenemos una clase


llamada Auto con dos
atributos(o propiedades)
: Placa y Marca

Observacion : Si tu no le
das un modificador de
acceso (private, public,
protected) por defecto
solo la clase propia y el
package pueden
acceder a esa
propiedad.

1. No especificado
Puede acceder
: La clase y el
Package
2. Private
Puede acceder
: solo la clase
3. Protected
Puede acceder
: La clase, el
package y una
subclase (en
caso de
herencia)
4. Public
Puede acceder
: Todos (Clase,
subclase,
package, etc)

Ejemplo :

public class Auto{


String placa;
Al usar este sitio, reconoces haber
String leido y entendido nuestra
marca; , ,y
nuestros .
public Auto () {

https://es.stackoverflow.com/questions/26296/constructores-en-java 11/15
15/10/2018 Constructores en java - Stack Overflow en español
}

public Auto (String p


this.placa = plac
this.marca = marc
}
}

En este caso particular,


los parámetros de
entrada de el
constructor tienen los
mismos nombres de las
propiedades de la clase.
Por eso utilizo el this
para hacer referencia
especifica a las
propiedades de tu clase,
aunque tambien puede
ser asi :

public Auto (String placa


placa = placaAuto;
marca = marcaAuto;
}

Para la creación de un
objeto tipo Auto, como
te explique arriba
dependiendo del
modificador de acceso
es como lo puedes crear

Si los indicadores de las


propiedades llevan
public o no llevan puede
ser

Auto nuevoAuto = new Auto


nuevoAuto.placa = "HV-45-
nuevoAuto.marca = "Chevro

Auto nuevoAuto = new Auto

Ambas formas son


validas y te ayudaran a
instanciar un objeto de
tipo Auto, espero que te
ayude esta información
y complementar a los
que las demas te dieron.

spondida el 12 oct. 16 a las 20:33


sioesi haber leido y entendido nuestra
Al usar este sitio, reconoces , ,y
9,599 3 12 41
nuestros .

https://es.stackoverflow.com/questions/26296/constructores-en-java 12/15
15/10/2018 Constructores en java - Stack Overflow en español

Proporcionar
constructores para las
clases Una clase
contiene constructores
que se invocan para
crear objetos a partir del
modelo de clases.
declaraciones de
constructores se ven
como método
declaraciones, salvo
que se utilice el nombre
de la clase y no tienen
ningún tipo de
devolución. Por ejemplo,
la bicicleta tiene un
constructor: Bicicleta
pública (int
startCadence, int
Startspeed, int
startGear) {engranajes =
startGear; cadencia =
startCadence; velocidad
= Startspeed; } Para
crear un nuevo objeto
de bicicletas llamado
myBike, un constructor
es llamado por el nuevo
operador: Bicicleta
myBike = new bicicletas
(30, 0, 8); newBicycle
(30, 0,8) crea un
espacio en la memoria
para el objeto e inicializa
sus campos. A pesar de
bicicletas sólo tiene un
constructor, que podría
tener otros, incluyendo
un constructor sin
argumentos.

Gracias por los


comentarios

spondida el 12 oct. 16 a las 20:07


Sommer
146 2 5 18

Al usar este sitio, reconoces haber


Todo es muy leido y entendido nuestra
simple, , ,y
nuestros .
más de lo que parece.

https://es.stackoverflow.com/questions/26296/constructores-en-java 13/15
15/10/2018 Constructores en java - Stack Overflow en español

Una variable Java


almacena referencias a
objetos, lo que de toda
la vida se le ha llamado
puntero. Inicialmente,
sin inicializar contiene
basura, a saber, será un
elemento poco seguro
de usar.

Necesitar disponer de
un objeto, pero sólo
puedes obtenerlo a
partir de un constructor,
el cual es el mecanismo
que te permite crear la
referencia que guardará
la variable. Gracias al
constructor, se reserva
el espacio de memoria
del puntero y se le
otorga los valores
iniciales con los que el
objeto comienza a
funcionar.

El constructor, por tanto,


es el medio por el que
se obtiene objetos para
una clase.

spondida el 12 oct. 16 a las 17:28


AmbarJ2009
1

Un constructor
proporciona el estado
inicial de un objeto.
Piensa en un objeto,
por ejemplo, la clase
Auto con
propiedades: Marca ,
Modelo , Kilometraje
y Color . Cuando
creas un objeto de
esta clase tienes que
dar los valores para
esas propiedades
Ejemplo:

Auto carro1= new Auto(


Al usar este sitio, reconoces haber leido y entendido nuestra , ,y
nuestros .

https://es.stackoverflow.com/questions/26296/constructores-en-java 14/15
15/10/2018 Constructores en java - Stack Overflow en español

al dar esos valores el


objeto se construye
con esas
características.

Esta instrucción new


Auto("Ford", 2012,
56000, "verde") llama
al constructor y le
dice los valores que
tendrá el objeto
carro1

da el 12 oct. a las 0:59


Silvestre Silva
1,111 1 4 22

ndida el 11 oct. a las 23:32


Alberto Saucedo
1

Nuevo colaborador

Al usar este sitio, reconoces haber leido y entendido nuestra , ,y


nuestros .

https://es.stackoverflow.com/questions/26296/constructores-en-java 15/15

También podría gustarte