¿Cómo implementar mejor la sobrecarga de constructores en Java?



Este artículo le presentará la sobrecarga de constructores en Java. La explicación será seguida por una demostración programática.

El advenimiento de Java tomó por asalto el mundo de la programación y la razón principal es la cantidad de características que trajo consigo. En este artículo discutiremos la sobrecarga de constructores en . Los siguientes consejos se discutirán en este artículo,

Así que comencemos entonces





Sobrecarga de constructores en Java

¿Qué es un constructor?

Un constructor es un bloque de código que se utiliza para crear un objeto de una clase. Cada clase tiene un constructor, ya sea una clase normal o una clase abstracta. Un constructor es como un método pero sin tipo de retorno. Cuando no hay ningún constructor definido para una clase, el compilador crea un constructor predeterminado.

cómo convertir de doble a int java

Ejemplo



public class Student {// sin constructor private String name private int age private String std // getters y setters public void display () {System.out.println (this.getName () + '' + this.getAge () + ' '+ this.getStd ())} public static void main (String args []) {// para usar el método de visualización de la clase Student, crear el objeto Student Student student = new Student () // ya que no hemos definido ningún constructor , el compilador crea el constructor predeterminado. para que student.display ()}}

En el programa anterior, el compilador crea el constructor predeterminado para que se cree el objeto. Es imprescindible tener constructor.

Esto nos lleva al siguiente de este artículo sobreSobrecarga de constructores en Java.

Necesidad de otros constructores

En el ejemplo anterior, el objeto Student se puede crear solo con el constructor predeterminado. Donde no se inicializan todos los demás atributos del alumno. Pero puede haber algunos otros constructores, que se utilizan para inicializar el estado de un objeto. por ejemplo -



public class Student {// atributos String name int age String std // Constructores public Student (String name) {// Constructor 1 this.name = name} public Student (String name, String std) {// Constructor 2 this.name = nombre this.std = std} public Student (String name, String std, int age) {// Constructor 3 this.name = name this.std = std this.age = age} public void display () {System.out .println (this.getName () + '' + this.getAge () + '' + this.getStd ())} public static void main (String args []) {Student stu1 = new Student ('ABC') stu1 .display () Student stu2 = new Student ('DEF', '5-C') stu2.display () Student stu3 = new Student ('GHI', '6-C', 12) stu3.display ()}}

Esto nos lleva al siguiente de este artículo sobreSobrecarga de constructores en Java.

esta () referencia

esta referencia () se puede usar dentro del constructor parametrizado para llamar implícitamente al constructor predeterminado. Tenga en cuenta que esta () debería ser la primera declaración dentro de un constructor.

Ejemplo

public Student () {} // Constructor 4 public Student (String name, String std, int age) {// Constructor 3 this () // llamará al constructor predeterminado. * Si no es la primera declaración del constructor, se producirá un ERROR * this.name = name this.std = std this.age = age

Nota

  • La llamada recursiva al constructor no es válida en Java
  • Si hemos definido algún constructor parametrizado, el compilador no creará el constructor predeterminado. y viceversa si no definimos ningún constructor, el compilador crea el constructor predeterminado (también conocido como constructor sin argumentos) por defecto durante la compilación
  • La llamada al constructor debe ser la primera declaración del constructor en Java

Por lo tanto, hemos llegado al final de este artículo sobre 'Sobrecarga de constructores en Java'. Si desea obtener más información, consulte el por Edureka, una empresa de aprendizaje en línea de confianza. El curso de certificación y capacitación Java J2EE y SOA de Edureka está diseñado para capacitarlo en conceptos básicos y avanzados de Java junto con varios marcos de Java como Hibernate y Spring.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este blog y nos pondremos en contacto con usted lo antes posible.