Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Constructores Java

Constructores Java

En este tutorial, aprenderemos sobre los constructores de Java, sus tipos y cómo usarlos con la ayuda de ejemplos.

¿Qué es un Constructor?

Un constructor en Java es similar a un método que se invoca cuando se crea un objeto de la clase.

A diferencia de los métodos de Java, un constructor tiene el mismo nombre que el de la clase y no tiene ningún tipo de retorno. Por ejemplo,

class Test {
  Test() {
    // constructor body
  }
}

Aquí, Test() es un constructor. Tiene el mismo nombre que el de la clase y no tiene tipo de retorno.

Lectura recomendada: ¿Por qué los constructores no devuelven valores?


Ejemplo 1:Constructor Java

class Main {
  private String name;

  // constructor
  Main() {
    System.out.println("Constructor Called:");
    name = "Programiz";
  }

  public static void main(String[] args) {

    // constructor is invoked while
    // creating an object of the Main class
    Main obj = new Main();
    System.out.println("The name is " + obj.name);
  }
}

Salida :

Constructor Called:
The name is Programiz

En el ejemplo anterior, hemos creado un constructor llamado Main() . Dentro del constructor, estamos inicializando el valor del nombre variables.

Observe la declaración de crear un objeto de Main clase.

Main obj = new Main();

Aquí, cuando se crea el objeto, el Main() se llama constructor. Y, el valor del nombre la variable se inicializa.

Por lo tanto, el programa imprime el valor del nombre variables como Programiz .


Tipos de constructor

En Java, los constructores se pueden dividir en 3 tipos:

  1. Constructor sin argumentos
  2. Constructor parametrizado
  3. Constructor predeterminado

1. Constructores Java sin argumentos

Al igual que los métodos, un constructor de Java puede o no tener parámetros (argumentos).

Si un constructor no acepta ningún parámetro, se le conoce como constructor sin argumentos. Por ejemplo,

private Constructor() {
   // body of the constructor
}

Ejemplo 2:constructor privado sin argumentos de Java

class Main {

  int i;

  // constructor with no parameter
  private Main() {
    i = 5;
    System.out.println("Constructor is called");
  }

  public static void main(String[] args) {

    // calling the constructor without any parameter
    Main obj = new Main();
    System.out.println("Value of i: " + obj.i);
  }
}

Salida :

Constructor is called
Value of i: 5

En el ejemplo anterior, hemos creado un constructor Main() . Aquí, el constructor no acepta ningún parámetro. Por lo tanto, se conoce como un constructor sin argumentos.

Observe que hemos declarado el constructor como privado.

Una vez que se declara un constructor private , no se puede acceder desde fuera de la clase. Por lo tanto, está prohibido crear objetos desde fuera de la clase utilizando el constructor privado.

Aquí, estamos creando el objeto dentro de la misma clase. Por lo tanto, el programa puede acceder al constructor. Para obtener más información, visite Java Implement Private Constructor.

Sin embargo, si queremos crear objetos fuera de la clase, debemos declarar el constructor como public .

Ejemplo 3:constructores sin argumentos públicos de Java

class Company {
  String name;

  // public constructor
  public Company() {
    name = "Programiz";
  }
}

class Main {
  public static void main(String[] args) {

    // object is created in another class
    Company obj = new Company();
    System.out.println("Company name = " + obj.name);
  }
}

Salida :

Company name = Programiz

Lectura recomendada: Modificador de acceso Java


2. Constructor parametrizado Java

Un constructor de Java también puede aceptar uno o más parámetros. Dichos constructores se conocen como constructores parametrizados (constructor con parámetros).

Ejemplo 4:Constructor parametrizado

class Main {

  String languages;

  // constructor accepting single value
  Main(String lang) {
    languages = lang;
    System.out.println(languages + " Programming Language");
  }

  public static void main(String[] args) {

    // call constructor by passing a single value
    Main obj1 = new Main("Java");
    Main obj2 = new Main("Python");
    Main obj3 = new Main("C");
  }
}

Salida :

Java Programming Language
Python Programming Language
C Programming Language

En el ejemplo anterior, hemos creado un constructor llamado Main() . Aquí, el constructor toma un solo parámetro. Observe la expresión,

Main obj1 = new Main("Java");

Aquí, estamos pasando el valor único al constructor. Según el argumento pasado, la variable de lenguaje se inicializa dentro del constructor.


3. Constructor predeterminado de Java

Si no creamos ningún constructor, el compilador de Java crea automáticamente un constructor sin argumentos durante la ejecución del programa. Este constructor se llama constructor por defecto.

Ejemplo 5:Constructor predeterminado

class Main {

  int a;
  boolean b;

  public static void main(String[] args) {

    // A default constructor is called
    Main obj = new Main();

    System.out.println("Default Value:");
    System.out.println("a = " + obj.a);
    System.out.println("b = " + obj.b);
  }
}

Salida :

a = 0
b = false

Aquí, no hemos creado ningún constructor. Por lo tanto, el compilador de Java crea automáticamente el constructor predeterminado.

El constructor predeterminado inicializa cualquier variable de instancia no inicializada con valores predeterminados.

Tipo Valor predeterminado
boolean falso
byte 0
short 0
int 0
long 0L
char \u0000
float 0.0f
double 0.0d
object Referencia nula

En el programa anterior, las variables a y b se inicializan con el valor predeterminado 0 y false respectivamente.

El programa anterior es equivalente a:

class Main {

  int a;
  boolean b;

  // a private constructor
  private Main() {
    a = 0;
    b = false;
  }

  public static void main(String[] args) {
    // call the constructor
    Main obj = new Main();

    System.out.println("Default Value:");
    System.out.println("a = " + obj.a);
    System.out.println("b = " + obj.b);
  }
}

El resultado del programa es el mismo que el del Ejemplo 5.


Notas importantes sobre los constructores de Java


Sobrecarga de constructores en Java

Similar a la sobrecarga de métodos de Java, también podemos crear dos o más constructores con diferentes parámetros. Esto se llama sobrecarga de constructores.

Ejemplo 6:Sobrecarga del constructor Java

class Main {

  String language;

  // constructor with no parameter
  Main() {
    this.language = "Java";
  }

  // constructor with a single parameter
  Main(String language) {
    this.language = language;
  }

  public void getName() {
    System.out.println("Programming Langauage: " + this.language);
  }

  public static void main(String[] args) {

    // call constructor with no parameter
    Main obj1 = new Main();

    // call constructor with a single parameter
    Main obj2 = new Main("Python");

    obj1.getName();
    obj2.getName();
  }
}

Salida :

Programming Language: Java
Programming Language: Python

En el ejemplo anterior, tenemos dos constructores:Main() y Main(String language) . Aquí, ambos constructores inicializan el valor de la variable language con diferentes valores.

Según el parámetro pasado durante la creación del objeto, se llaman a diferentes constructores y se asignan diferentes valores.

También es posible llamar a un constructor desde otro constructor. Para obtener más información, visite Java Call One Constructor from Another.

Nota :Hemos utilizado this palabra clave para especificar la variable de la clase. Para saber más sobre this palabra clave, visite Java esta palabra clave.


Java

  1. Constructores C++
  2. Operadores Java
  3. Comentarios Java
  4. Java para cada bucle
  5. Constructores Java
  6. Cadenas Java
  7. Java esta palabra clave
  8. Interfaz Java
  9. Clase anónima de Java
  10. Constructor de enumeración de Java
  11. Prueba de Java con recursos