Въведение в конструктора и деструктора в Java

Следващата статия Конструктор и Деструктор в Java предоставя подробни очертания за създаването на конструктор и деструктор в Java. Всеки език за програмиране има тази концепция, наречена конструктор и деструктор. Java е обектно-ориентиран език за програмиране. Ако познавате обектно-ориентираните концепции, тогава ще ви бъде полезно да го разберете по-ясно. Конструктор е нещо, което инициализира обектите, а деструкторите трябва да унищожат тази инициализация. Java има автоматично събиране на боклука, което използва алгоритъма на маркиране и почистване.

Какво е конструктор и деструктор в Java?

Конструктор се използва за инициализиране на променлива, което означава, че разпределя памет за същата. Конструкторът не е нищо друго, освен автоматично инициализиране на обекта. Всеки път, когато програмата създава обект по това време, конструкторът се извиква автоматично. Не е необходимо да извиквате този метод изрично. Destructor се използва за освобождаване на тази памет, разпределена по време на инициализация. По принцип в Java не е необходимо да извикваме изрично деструктора. Java има функция за автоматично събиране на боклука.

Защо имаме нужда от конструктор и деструктор в Java?

Конструктор и деструктор най-често се използват за ефективно справяне с разпределението на паметта и де-разпределението. Конструктор и деструктор играят много важна роля във всеки език за програмиране, за да го инициализират и унищожат след употреба, за да освободят паметта.

Как Constructor и Destructor работи в Java

Конструкторът е просто метод в Java. Което има същото име като името на класа. метод конструктор няма връщане към него.

Вижте следния пример за по-голяма яснота:

class Employee (
Employee() (
)
)

Ако видите в горния пример, ние не сме дали никакъв тип връщане като int или void на метода, който има същото име като име на клас.

Използва се главно за инициализиране на обекта. Когато създаваме обект от клас по това време, конструкторът се извиква.

Ще бъде по-ясно със следния фрагмент на код.

Как да създадете конструктори и разрушители в Java?

Вижте следния пример

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

Видове конструктор

Има два типа конструктори в зависимост от типа, който можем да добавим и премахнем променливи.

1. Конструктор по подразбиране

2. Параметризиран конструктор

С това ще видим и претоварване на конструктора.

1. Конструктор по подразбиране

Това е един тип конструктор. По подразбиране без никакви параметри този конструктор се осъществява. Този конструктор няма параметри в него.

Пример:

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

2. Параметризиран конструктор

Както подсказва името, параметризираният конструктор има някои параметри или аргументи в момента на инициализиране на обекта.

Пример:

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

изход:

java Cal

Площта на площада е 200

Сега е време да поговорим за претоварването на конструктора в Java. Това означава, че има няколко конструктора с различни параметри. Така че с това всеки конструктор може да върши различни задачи. Понякога според изискването трябва да инициализираме конструкторите по различни начини.

пример

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

изход:

Дати на наименованието на продукта

Количеството на продукта е 500

Цената на продукта е 50

Име на продукта cashu

Количеството на продукта е 80

Цената на продукта е 800

Изпробвайте горната програма и ще ви е ясно какво точно се случва с претоварването на конструктора.

пещ за горене на отпадъци

Преди да започнем да говоря за деструктор, нека ви кажа, че в Java няма разрушител. Destructor е на език за програмиране на C ++. Ако говорим за java, тогава java има функция, наречена автоматичен боклук. Което освобождава динамично разпределената памет, когато няма употреба. Тази концепция е много важна и можете да проучите повече за това събиране на боклука в Java.

  • Java използва техниката за събиране на дрехи автоматично за разпределение на паметта.
  • Не е необходимо изричното използване на деструктори като C ++.
  • За разпределяне на паметта в Java не разполагаме с функция malloc, както в програмирането на С.
  • Същият процес на разпределяне на паметта извършва новият оператор в Java.
  • нова ключова дума разпределя пространство на паметта за обект в хепа паметта.
  • В момента на изпълнение на програмата нова ключова дума разпределя малко място в паметта за обекта. Крайният потребител трябва да се тревожи за това, тъй като разпределението на паметта се обработва от програмата. По времето, когато обектът, използван в програми, извършени с работата, паметта, използвана за обекта, се използва за друга задача. Този процес на ефективно използване на паметта е работата по събирането на боклука в Java.

Да поговорим тогава за деструктора. Както знаем, няма разрушител в Java, тъй като е финализирал () метода за това. По-долу са някои от основните моменти, които трябва да се отбележат.

Финализиране () методи

  • Методът на финализиране е работа като деструктор и противоположно на конструктора, както видяхме по-рано.
  • Като цяло методът за финализиране се използва за премахване на обекта.
  • За да използваме този метод, ние трябва изрично да дефинираме този метод в java.
  • Методът за финализиране започва да работи след събирането на боклука с неговата работа.
  • Това просто означава, че след освобождаване на пространството на паметта чрез разместване на пространството на паметта от обекти има шанс използването на паметта все още там с други неща като шрифтове и т.н., за да изтрие това пространство на паметта или да освободи това пространство, използваме метода finalize ().

заключение

Конструктор и деструктор (събиране на боклук в Java) са много важни неща, които трябва да се изяснят на всеки език за програмиране, тъй като това е началото, където всъщност можете да получите как се правят нещата на заден план, за да управлявате пространството на паметта.

Препоръчителни статии

Това е ръководство за Конструктор и Деструктор в Java. Тук обсъждаме въвеждането на Constructor и Destructor, Защо имаме нужда от него и как конструкторът и деструкторът работят в Java заедно с пример. Можете също да разгледате следните статии, за да научите повече -

  1. Манипулация на бит в Java
  2. Най-добър Java IDE
  3. Сортиране в купа с Java
  4. Какво е Java интерфейс?
  5. Какво е конструктор и разрушител в C ++?
  6. Примери за внедряване на Heap Sort в Python
  7. Ръководство за Destructor в PHP с примери