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

В следующей статье «Конструктор и деструктор в Java» приведена подробная схема создания конструктора и деструктора в Java. У каждого языка программирования есть такая концепция, которая называется конструктор и деструктор. Java - это объектно-ориентированный язык программирования. Если вы знакомы с объектно-ориентированными понятиями, вам будет полезно понять их более четко. Конструктор - это нечто, что инициализирует объекты, а деструкторы должны уничтожить эту инициализацию. В Java есть автоматическая сборка мусора, которая использует алгоритм mark и sweep.

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

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

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

Конструктор и деструктор в основном используются для эффективного распределения и удаления памяти. Конструктор и деструктор играют очень важную роль в любом языке программирования, инициализируя и уничтожая его после использования, чтобы освободить пространство памяти.

Как работает конструктор и деструктор в 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);
)
)
)

Выход:

Ява Кэл

Площадь площади составляет 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

Попробуйте приведенную выше программу, и вам станет ясно, что именно происходит с перегрузкой конструктора.

Destructor

Прежде чем начать говорить о деструкторе, позвольте мне сказать вам, что в Java нет деструктора. Деструктор на языке программирования C ++. Если мы говорим о Java, то в Java есть функция, которая называется автоматический сборщик мусора. Которые освобождают динамически распределяемую память, когда нет необходимости. Эта концепция очень важна, и вы можете больше узнать об этой сборке мусора в Java.

  • Java использует технику сбора одежды для автоматического выделения памяти.
  • Нет необходимости явно использовать деструкторы, такие как C ++.
  • Для выделения памяти в Java у нас нет функции malloc, как в программировании на Си.
  • Тот же процесс выделения памяти выполняется новым оператором в Java.
  • Ключевое слово new выделяет пространство памяти для объекта в динамической памяти.
  • Во время выполнения программы новое ключевое слово выделяет некоторое пространство памяти для объекта. Конечному пользователю нужно беспокоиться об этом, так как выделение памяти выполняется программой. В то время, когда объект, используемый в программах, выполняет работу, память, используемая для объекта, используется для другой задачи. Этот процесс эффективного использования памяти является задачей сборки мусора в Java.

Давай тогда поговорим о деструкторе. Как мы знаем, в java нет деструктора, так как для этого есть метод finalize (). Ниже приведены некоторые ключевые моменты, которые следует отметить.

Finalize () Методы

  • Метод Finalize работает как деструктор и противоположен конструктору, как мы видели ранее.
  • Обычно метод finalize используется для удаления объекта.
  • Для использования этого метода мы должны явно определить этот метод в Java.
  • Метод finalize начинает работать после завершения сборки мусора.
  • Это просто означает, что после освобождения пространства памяти путем освобождения пространства памяти от объектов есть вероятность, что использование памяти все еще там с другими вещами, такими как шрифты и т. Д., Чтобы удалить это пространство памяти или освободить это пространство, мы используем метод finalize ().

Вывод

Конструктор и деструктор (сборка мусора в Java) очень важны для понимания на любом языке программирования, так как это начало, на котором вы можете узнать, как все происходит в фоновом режиме для управления пространством памяти.

Рекомендуемые статьи

Это руководство по конструктору и деструктору в Java. Здесь мы обсуждаем введение в конструктор и деструктор, зачем оно нам и как работает конструктор и деструктор в java вместе с примером. Вы также можете посмотреть следующие статьи, чтобы узнать больше -

  1. Битовая манипуляция в Java
  2. Лучший Java IDE
  3. Сортировка кучи в Java
  4. Что такое интерфейс Java?
  5. Что такое конструктор и деструктор в C ++?
  6. Примеры реализации сортировки кучи в Python
  7. Руководство по деструктору в PHP с примерами