Introducción a Constructor y Destructor en Java

El siguiente artículo Constructor and Destructor en Java proporciona un esquema detallado para la creación de constructor y destructor en Java. Cada lenguaje de programación tiene este concepto llamado constructor y destructor. Java es un lenguaje de programación orientado a objetos. Si conoce los conceptos orientados a objetos, le resultará beneficioso comprenderlos más claramente. Un constructor es algo que inicializa objetos y los destructores son para destruir esa inicialización. Java tiene recolección de basura automática que utiliza el algoritmo de marca y barrido.

¿Qué es Constructor y Destructor en Java?

Un constructor se usa para inicializar una variable que significa que asigna memoria para el mismo. Un constructor no es más que la inicialización automática del objeto. Cada vez que el programa crea un objeto en ese momento, se llama automáticamente al constructor. No necesita llamar a este método explícitamente. Destructor se utiliza para liberar esa memoria asignada durante la inicialización. En general, en Java, no necesitamos llamar al destructor explícitamente. Java tiene una característica de recolección automática de basura.

¿Por qué necesitamos Constructor y Destructor en Java?

El constructor y el destructor se utilizan principalmente para manejar la asignación de memoria y la desasignación de manera eficiente. Constructor y destructor desempeñan un papel muy importante en cualquier lenguaje de programación al inicializarlo y destruirlo después de su uso para liberar espacio en la memoria.

Cómo funciona Constructor y Destructor en Java

Un constructor es solo un método en java. Que tiene el mismo nombre que el nombre de la clase. El método constructor no tiene ningún tipo de retorno.

Mira el siguiente ejemplo para más claridad:

class Employee (
Employee() (
)
)

Si ve en el ejemplo anterior, no hemos dado ningún tipo de retorno como int o void al método que tiene el mismo nombre que el nombre de una clase.

Se utiliza principalmente para inicializar el objeto. Cuando estamos creando un objeto de una clase en ese momento, se invoca al constructor.

Será más claro con el siguiente fragmento de código.

¿Cómo crear constructores y destructores en Java?

Mira el siguiente ejemplo

class Employee (
Employee() ( //This is constructor. It has same name as class name.
System.out.println(“This is the default constructor”);
)
)

Tipos de constructor

Hay dos tipos de constructores dependiendo del tipo que podamos agregar y eliminar variables.

1. Constructor predeterminado

2. Constructor parametrizado

Con esto, también vamos a ver la sobrecarga del constructor.

1. Constructor predeterminado

Este es el único tipo de constructor. Por defecto sin ningún parámetro, este constructor tiene lugar. Este constructor no tiene ningún parámetro en él.

Ejemplo:

Class Abc(
Abc()(
System.out.println(“This is the example of default constructor.”);
)
)

2. Constructor parametrizado

Como el nombre sugiere, el constructor parametrizado tiene algunos parámetros o argumentos al momento de inicializar el objeto.

Ejemplo:

class Square(
int width, height;
Square( int a, int b)(
width = a;
height = b;
)
int area()(
return width * height;
)
)
class Cal(
public static void main(String() args)(
(
Square s1 = new Square(10, 20);
int area_of_sqaure = s1.area();
System.out.println("The area of square is:" + area_of_sqaure);
)
)
)

Salida:

Java Cal

El área de la plaza es 200

Ahora, es hora de hablar sobre la sobrecarga del constructor en Java. Esto significa que tener múltiples constructores con diferentes parámetros. Entonces, con esto, cada constructor puede hacer diferentes tareas. A veces, según el requisito, necesitamos inicializar los constructores de diferentes maneras.

Ejemplo

public class Abc(
String name;
int quantity;
int price;
Abc( String n1, int q1, int p1)(
name = n1;
quantity = q1;
price = p1;
)
Abc( String n2, int p2)(
name = n2;
price = p2;
quantity = price/10;
)
void display()(
System.out.println("Product Name"+ name);
System.out.println("Product quantity is"+ quantity);
System.out.println("Product price is:"+ price);
)
public static void main(String() args)(
Abc product1;
product1 = new Abc("Dates", 500, 50);
product1.display();
product1 = new Abc("cashu", 800);
product1.display();
)
)

Salida:

Nombre del producto Fechas

La cantidad del producto es 500

El precio del producto es 50

Nombre del producto cashu

La cantidad del producto es 80

El precio del producto es 800

Pruebe el programa anterior y tendrá claro qué sucede exactamente con la sobrecarga del constructor.

Incinerador de basuras

Antes de comenzar a hablar sobre destructor, déjame decirte que no hay destructor en Java. Destructor está en lenguaje de programación C ++. Si estamos hablando de Java, Java tiene una característica llamada recolector de basura automático. Que libera la memoria asignada dinámicamente cuando no hay uso. Este concepto es muy importante y puede explorar más sobre esta recolección de basura en Java.

  • Java utiliza la técnica de recolección de vestimenta para la asignación de memoria automáticamente.
  • No es necesario el uso explícito de destructores como C ++.
  • Para asignar memoria en java no tenemos la función malloc como en la programación en C.
  • El nuevo operador en Java realiza el mismo proceso de asignación de memoria.
  • La nueva palabra clave asigna espacio de memoria para un objeto en la memoria de almacenamiento dinámico.
  • En el momento de la ejecución del programa, una nueva palabra clave asigna algo de espacio de memoria para el objeto. El usuario final debe preocuparse por esto, ya que el programa maneja la asignación de memoria. En el momento en que el objeto utilizado en los programas realizados con el trabajo, la memoria utilizada para el objeto se utiliza para otra tarea. Este proceso de utilizar la memoria de manera eficiente es el trabajo de recolección de basura en Java.

Hablemos de destructor entonces. Como sabemos, no hay destructor en java, ya que tiene el método finalize () para hacerlo. Los siguientes son algunos de los puntos clave a tener en cuenta.

Métodos Finalize ()

  • El método de finalización es trabajar como destructor y opuesto al constructor como hemos visto anteriormente.
  • Generalmente, el método de finalización se usa para eliminar el objeto.
  • Para usar este método tenemos que definir explícitamente este método en Java.
  • El método de finalización comienza a funcionar después de la recolección de basura realizada con su trabajo.
  • Esto simplemente significa que después de liberar espacio de memoria al desasignar el espacio de memoria de los objetos, existe la posibilidad de que la utilización de la memoria continúe allí con otras cosas como fuentes, etc. para eliminar ese espacio de memoria o liberar ese espacio, utilizamos el método finalize ().

Conclusión

Constructor y destructor (recolección de basura en java) son cosas muy importantes que se deben aclarar en cualquier lenguaje de programación, ya que este es el comienzo donde realmente puede obtener información sobre cómo se hacen las cosas en segundo plano para administrar el espacio de memoria.

Artículos recomendados

Esta es una guía de Constructor y Destructor en Java. Aquí discutimos la introducción a Constructor y Destructor, por qué lo necesitamos y cómo funcionan el constructor y el destructor en Java junto con un ejemplo. También puede consultar los siguientes artículos para obtener más información:

  1. Manipulación de bits en Java
  2. El mejor IDE de Java
  3. Heap Ordenar en Java
  4. ¿Qué es la interfaz Java?
  5. ¿Qué es Constructor y Destructor en C ++?
  6. Ejemplos para implementar la ordenación del montón en Python
  7. Guía de Destructor en PHP con ejemplos