Introduzione a Costruttore e Distruttore in Java

Il seguente articolo Costruttore e distruttore in Java fornisce uno schema dettagliato per la creazione di costruttore e distruttore in Java. Ogni linguaggio di programmazione ha questo concetto chiamato costruttore e distruttore. Java è un linguaggio di programmazione orientato agli oggetti. Se conosci i concetti orientati agli oggetti, ti sarà utile comprenderli più chiaramente. Un costruttore è qualcosa che inizializza oggetti e che i distruttori devono distruggere tale inizializzazione. Java ha la garbage collection automatica che utilizza l'algoritmo mark e sweep.

Che cos'è Costruttore e distruttore in Java?

Un costruttore viene utilizzato per inizializzare una variabile, il che significa che alloca memoria per lo stesso Un costruttore non è altro che l'inizializzazione automatica dell'oggetto. Ogni volta che il programma crea un oggetto in quel momento viene chiamato automaticamente il costruttore. Non è necessario chiamare questo metodo in modo esplicito. Il distruttore viene utilizzato per liberare quella memoria allocata durante l'inizializzazione. Generalmente, in Java, non è necessario chiamare esplicitamente il distruttore. Java ha una funzione di garbage collection automatica.

Perché abbiamo bisogno di costruttori e distruttori in Java?

Costruttore e distruttore principalmente utilizzati per gestire in modo efficiente l'allocazione e la disassegnazione della memoria. Costruttore e distruttore svolgono un ruolo molto importante in qualsiasi linguaggio di programmazione di inizializzazione e distruzione dopo l'uso per liberare spazio di memoria.

Come funzionano Costruttore e Distruttore in Java

Un costruttore è solo un metodo in Java. Che ha lo stesso nome del nome della classe. Il metodo di costruzione non ha alcun tipo di ritorno.

Guarda il seguente esempio per maggiore chiarezza:

class Employee (
Employee() (
)
)

Se vedi l'esempio sopra non abbiamo dato alcun tipo restituito come int o void al metodo che ha lo stesso nome di un nome di classe.

Viene utilizzato principalmente per inizializzare l'oggetto. Quando stiamo creando un oggetto di una classe in quel momento, il costruttore viene invocato.

Sarà più chiaro con il seguente frammento di codice.

Come creare costruttori e distruttori in Java?

Guarda il seguente esempio

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

Tipi di costruttore

Esistono due tipi di costruttori a seconda del tipo che possiamo aggiungere e rimuovere variabili.

1. Costruttore predefinito

2. Costruttore parametrizzato

Con questo, vedremo anche un sovraccarico del costruttore.

1. Costruttore predefinito

Questo è l'unico tipo di costruttore. Di default senza parametri, questo costruttore ha luogo. Questo costruttore non ha parametri.

Esempio:

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

2. Costruttore parametrizzato

Come suggerisce il nome, il costruttore con parametri ha alcuni parametri o argomenti al momento dell'inizializzazione dell'oggetto.

Esempio:

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);
)
)
)

Produzione:

java Cal

L'area della piazza è di 200

Ora, è tempo di parlare del sovraccarico del costruttore in Java. Ciò significa che avere più costruttori con parametri diversi. Quindi, con questo, ogni costruttore può svolgere compiti diversi. A volte secondo il requisito, è necessario inizializzare i costruttori in diversi modi.

Esempio

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();
)
)

Produzione:

Date nome prodotto

La quantità del prodotto è di 500

Il prezzo del prodotto è di 50

Nome prodotto cashu

La quantità del prodotto è 80

Il prezzo del prodotto è di 800

Prova il programma sopra e sarai chiaro cosa sta succedendo esattamente con il sovraccarico del costruttore.

Distruttore

Prima di iniziare a parlare del distruttore, lascia che ti dica che non esiste un distruttore in Java. Destructor è in linguaggio di programmazione C ++. Se stiamo parlando di Java, Java ha una funzione chiamata garbage collector automatico. Che libera la memoria allocata dinamicamente quando non serve. Questo concetto è molto importante ed è possibile esplorare di più su questa raccolta di rifiuti in Java.

  • Java utilizza automaticamente la tecnica di raccolta garb per l'allocazione della memoria.
  • Non è necessario l'uso esplicito di distruttori come C ++.
  • Per allocare memoria in java non abbiamo la funzione malloc come nella programmazione C.
  • Lo stesso processo di allocazione della memoria viene eseguito dal nuovo operatore in Java.
  • la nuova parola chiave alloca lo spazio di memoria per un oggetto nella memoria dell'heap.
  • Al momento dell'esecuzione del programma, una nuova parola chiave alloca spazio di memoria per l'oggetto. L'utente finale deve preoccuparsene poiché l'allocazione della memoria viene gestita dal programma. Nel momento in cui l'oggetto utilizzato nei programmi eseguiti con il lavoro, la memoria utilizzata per l'oggetto viene utilizzata per un'altra attività. Questo processo di utilizzo efficiente della memoria è il lavoro di Garbage Collection in Java.

Parliamo di distruttore allora. Come sappiamo non esiste un distruttore in java in quanto ha il metodo finalize () per farlo. Di seguito sono riportati alcuni dei punti chiave da notare.

Metodi Finalize ()

  • Il metodo Finalize funziona come un distruttore e l'opposto del costruttore come abbiamo visto in precedenza.
  • In generale, il metodo finalize viene utilizzato per rimuovere l'oggetto.
  • Per l'utilizzo di questo metodo dobbiamo definire esplicitamente questo metodo in Java.
  • Il metodo finalize inizia a funzionare dopo che Garbage Collection ha terminato il suo lavoro.
  • Questo significa semplicemente che dopo aver liberato lo spazio di memoria trasferendo lo spazio di memoria dagli oggetti, ci sono possibilità che l'utilizzo della memoria sia ancora lì con altre cose come caratteri ecc. Per eliminare quello spazio di memoria o liberare quello spazio che facciamo uso del metodo finalize ().

Conclusione

Costruttore e distruttore (garbage collection in java) sono cose molto importanti da chiarire in qualsiasi linguaggio di programmazione in quanto questo è l'inizio in cui puoi effettivamente capire come vengono fatte le cose in background per gestire lo spazio di memoria.

Articoli consigliati

Questa è una guida per Costruttore e Distruttore in Java. Qui discutiamo dell'introduzione a Costruttore e Distruttore, perché ne abbiamo bisogno e come il costruttore e il distruttore lavorano in Java insieme a un esempio. Puoi anche consultare i seguenti articoli per saperne di più -

  1. Manipolazione dei bit in Java
  2. Miglior IDE Java
  3. Ordinamento dell'heap in Java
  4. Cos'è l'interfaccia Java?
  5. Che cos'è Costruttore e distruttore in C ++?
  6. Esempi per implementare l'ordinamento degli heap in Python
  7. Guida a Destructor in PHP con esempi

Categoria: