Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

167
Vistas
¿Por qué un constructor predeterminado y un constructor parametrizado estarían en una clase?

Aquí tengo un segmento de código Java donde se ha creado una clase abstracta. Sin embargo, algo en lo que estoy confundido con este segmento es por qué el escritor decidió usar un constructor predeterminado y un constructor parametrizado.

 abstract class Person { String personName; String personID; //default consructor Person() { } //parameterized constructor //assigns personName and personID to object at time of creation Person(String personName, String personID) { this.personName = personName; this.personID = personID; } //getters and setters public String getPersonName() { return personName; } public void setPersonName(String personName) { this.personName = personName; } public String getPersonID() { return personID; } public void setPersonID(String personID) { this.personID = personID; } }

¿Alguien puede explicar por qué se han escrito estos dos constructores en lugar de solo uno u otro?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Hibernate requiere un constructor sin argumentos, utiliza la reflexión para llamar al constructor sin argumentos cuando necesita instanciar una clase persistente. Por lo tanto, un constructor puede estar presente debido a que lo necesita una biblioteca o un marco.

Aparentemente, el otro constructor está allí para su conveniencia, de modo que el programador pueda establecer el nombre y la identificación sin llamar a los setters por separado.

Si lo desea, puede hacer que el constructor sin argumentos sea privado e Hibernate aún puede usarlo.

Hay un patrón llamado encadenamiento de constructores (descrito aquí: ¿Es bueno o malo delegar a otro constructor (usando this()) dentro de un constructor ) que muestra cómo varios constructores pueden tener sentido, pero el código que se muestra no está haciendo eso.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda