Introducere în constructor și distrugător în Java

Următorul articol Constructor și distrugător în Java oferă o prezentare detaliată pentru crearea constructorului și destructorului în Java. Fiecare limbaj de programare are acest concept numit constructor și destructor. Java este un limbaj de programare orientat pe obiecte. Dacă cunoașteți conceptele orientate pe obiecte, atunci vă va fi benefic să îl înțelegeți mai clar. Un constructor este ceva care inițializează obiectele și distrugătorii trebuie să distrugă inițializarea. Java are colectarea automată a gunoiului care a folosit algoritmul de marcare și măturare.

Ce este constructor și distrugător în Java?

Un constructor este folosit pentru inițializarea unei variabile, ceea ce înseamnă că alocă memorie pentru același lucru. Un constructor nu este altceva decât inițializarea automată a obiectului. Ori de câte ori programul creează un obiect în acel moment, constructorul este apelat automat. Nu trebuie să apelați în mod explicit la această metodă. Distrugătorul este folosit pentru a elibera acea memorie alocată în timpul inițializării. În general, în Java, nu trebuie să apelăm explicit la distrugător. Java are o caracteristică de colectare automată a gunoiului.

De ce avem nevoie de Constructor și Distrugător în Java?

Constructorul și distrugătorul sunt utilizați mai ales pentru a gestiona eficient alocarea de memorie și de a aloca. Constructorul și distrugătorul joacă un rol foarte important în orice limbaj de programare pentru inițializarea și distrugerea acestuia după utilizare pentru a elibera spațiul de memorie.

Cum funcționează constructorul și distrugătorul în Java

Un constructor este doar o metodă în java. Care are același nume cu numele clasei. metoda constructorului nu are niciun tip de retur la aceasta.

Priviți următorul exemplu pentru mai multă claritate:

class Employee (
Employee() (
)
)

Dacă vedeți în exemplul de mai sus, nu am dat niciun tip de returnare, cum ar fi int sau null, la metoda care are același nume ca un nume de clasă.

Este folosit în principal pentru inițializarea obiectului. Când creăm un obiect al unei clase în acel moment constructorul este invocat.

Va fi mai clar cu următorul fragment de cod.

Cum se creează constructori și distrugători în java?

Priviți următorul exemplu

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

Tipuri de constructor

Există două tipuri de constructori în funcție de tipul pe care îl putem adăuga și elimina variabilele.

1. Constructor implicit

2. Constructor parametrizat

Cu aceasta, vom vedea, de asemenea, supraîncărcarea constructorului.

1. Constructor implicit

Acesta este un singur tip de constructor. În mod implicit, fără niciun parametru, are loc acest constructor. Acest constructor nu are parametri în el.

Exemplu:

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

2. Constructor parametrizat

După cum numele sugerează constructorul parametrizat are câțiva parametri sau argumente la momentul inițializării obiectului.

Exemplu:

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

ieşire:

java Cal

Suprafața pieței este de 200

Acum, este timpul să vorbim despre supraîncărcarea constructorului în java. Aceasta înseamnă că având mai mulți constructori cu parametri diferiți. Deci, cu acest lucru, fiecare constructor poate face sarcini diferite. Uneori, conform cerințelor, trebuie să inițializăm constructori în moduri diferite.

Exemplu

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

ieşire:

Numele produsului

Cantitatea produsului este de 500

Prețul produsului este de 50

Nume produs cashu

Cantitatea produsului este de 80

Prețul produsului este de 800

Încercați programul de mai sus și veți avea clar ce se întâmplă exact cu supraîncărcarea constructorilor.

distrugător

Înainte de a începe să vorbesc despre destructor, permiteți-mi să vă spun că nu există niciun distrugător în Java. Distrugătorul se află în limbajul de programare C ++. Dacă vorbim despre java, atunci java are o caracteristică numită colectoare automate de gunoi. Care eliberează memoria alocată dinamic atunci când nu este folosită. Acest concept este foarte important și puteți explora mai multe despre această colectare a gunoiului din java.

  • Java utilizează tehnica de colectare a gunoiului pentru alocarea memoriei în mod automat.
  • Nu este necesară utilizarea explicită a distrugătorilor precum C ++.
  • Pentru alocarea memoriei în Java nu avem funcție malloc ca în programarea C.
  • Același proces de alocare a memoriei îl face noul operator din Java.
  • un nou cuvânt cheie alocă spațiu de memorie pentru un obiect din memoria acumulată.
  • În momentul executării programului, un nou cuvânt cheie alocă spațiu de memorie pentru obiect. Utilizatorul final trebuie să-și facă griji pentru acest lucru, deoarece programul gestionează alocarea memoriei. În momentul în care obiectul utilizat în programele efectuate cu munca, memoria utilizată pentru obiect este utilizată pentru o altă sarcină. Acest proces de utilizare eficientă a memoriei este sarcina colectării gunoiului din Java.

Hai să vorbim despre distrugător atunci. După cum știm, nu există niciun distrugător în Java, deoarece a finalizat () metoda de a face acest lucru. Următoarele sunt câteva dintre punctele cheie care trebuie notate.

Finalizează () Metode

  • Metoda de finalizare este lucrul ca distrugător și opus constructorului cum am văzut mai devreme.
  • În general, metoda de finalizare este utilizată pentru a elimina obiectul.
  • Pentru utilizarea acestei metode, trebuie să definim explicit această metodă în java.
  • Metoda de finalizare începe să funcționeze după colectarea gunoiului cu munca sa.
  • Acest lucru înseamnă pur și simplu că, după eliberarea spațiului de memorie prin alocarea spațiului de memorie de la obiecte, există șanse ca utilizarea memoriei să fie încă acolo cu alte lucruri, cum ar fi fonturi etc., pentru a șterge spațiul de memorie sau pentru a elibera spațiul pe care îl folosim metoda finalize ().

Concluzie

Constructorul și distrugătorul (colectarea gunoiului în Java) sunt lucruri foarte importante pentru a fi clar în orice limbaj de programare, deoarece acesta este începutul în care puteți obține cum se fac lucrurile pe fundal pentru a gestiona spațiul de memorie.

Articole recomandate

Acesta este un ghid pentru constructor și distrugător în Java. Aici vom discuta despre introducerea în constructor și distrugător, de ce avem nevoie și cum funcționează constructorul și distrugătorul în Java împreună cu un exemplu. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Bit Manipulation în Java
  2. Cel mai bun IDE Java
  3. Sortare la grămadă în Java
  4. Ce este interfața Java?
  5. Ce este constructor și distrugător în C ++?
  6. Exemple pentru implementarea sortării haldei în Python
  7. Ghid pentru distrugător în PHP cu exemple