logo

Чому ми використовуємо Constructor у Java?

У цьому розділі ми дізнаємося чому ми використовуємо конструктор у Java і яка мета і потреби конструктора . Разом з цим ми також побачимо типи конструктора.

У Java, конструктор подібний до методу. Властивість конструктора полягає в тому, що він повинен мати те саме ім’я, що й ім’я класу. Він не має типу повернення. Нам не потрібно викликати конструктор вручну. Він автоматично неявно викликається під час створення екземпляра.

Іншими словами, конструктор — це метод, який викликається під час виконання під час створення об’єкта за допомогою оператора new. JVM викликає його автоматично, коли ми створюємо об’єкт. Якщо ми не визначаємо конструктор у класі, конструктор за замовчуванням завжди непомітно присутній у класі. Існують такі причини для використання конструкторів:

що таке ymail
  • Ми використовуємо конструктори для ініціалізації об’єкта стандартним або початковим станом. Значення за замовчуванням для примітивів можуть бути не тими, що ви шукаєте.
  • Іншою причиною використання конструктора є те, що він інформує про залежності. Іншими словами, використовуючи конструктор, ми можемо запитати у користувача цього класу необхідні залежності.
  • Ми можемо дізнатися, що йому потрібно для використання цього класу, просто подивившись на конструктор.

Коротше кажучи, ми використовуємо конструктор для ініціалізувати змінну екземпляра класу.

Типи конструкторів

У Java є два типи конструкторів:

перенесення слів css
  • Параметризований конструктор
  • Конструктор за замовчуванням

Параметризований конструктор

Як випливає з назви, він приймає аргументи (параметри). Параметризований конструктор використовується, якщо ми хочемо динамічно ініціалізувати змінні екземпляра зазначеними значеннями під час створення екземпляра.

приклад

 public class Demo { int i; //parameterized constructor public demo(int i) { this.i = i; } } 

Конструктор за замовчуванням

Конструктор за замовчуванням не приймає жодних параметрів. Він використовується, якщо ми хочемо ініціалізувати змінні екземпляра певними значеннями. Кожен клас Java має невидимий конструктор за замовчуванням. Отже, нам не потрібно визначати це окремо. Пам’ятайте, що конструктор за замовчуванням видаляється з класу, коли ми створюємо параметризований конструктор.

приклад

якщо інакше bash
 public class Demo { int i; //default constructor public demo() { //the value of i is fixed this.i = 100; } } 

Примітка. Якщо ми не надаємо жодного конструктора для програми Java, компілятор Java пише конструктор за замовчуванням від імені програміста та компілює програму. Він ініціалізує змінні екземпляра значеннями за замовчуванням. Наприклад, 0 для цілого числа, 0,0 для числа з плаваючою точкою та нуль для рядка.

Давайте створимо програму та використаємо параметризований конструктор за замовчуванням.

У класі Employee ми створили два конструктори: один є конструктором за замовчуванням, а інший — параметризованим конструктором. Клас Employee має дві приватні змінні, а саме ім’я та вік. У основному методі ми створили екземпляр класу та використали обидва конструктори.

Employee.java

 import java.util.Scanner; public class Employee { private String name; private int age; //parameterized constructor public Employee(String name, int age) { this.name =name; this.age = age; } //Default constructor public Employee() { this.name = 'William'; this.age = 28; } //method for printing the values public void show() { System.out.println('Name of the employee: '+this.name); System.out.println('Age of the employee: '+this.age); } //main method public static void main(String args[]) { Employee e=new Employee(); //Reading values from user Scanner sc = new Scanner(System.in); System.out.println('Enter the name of the employee: '); String name = sc.nextLine(); System.out.println('Enter the age of the employee: '); int age = sc.nextInt(); System.out.println(' '); //Calling the parameterized constructor System.out.println('Show() method for the parameterized constructor: '); new Employee(name, age).show(); //Calling the default constructor System.out.println('Show() method for the default constructor: '); new Employee().show(); } } 

Вихід:

 Enter the name of the employee: David Enter the age of the employee: 27 Show() method for the parameterized constructor: Name of the employee: David Age of the employee: 27 Show() method for the default constructor: Name of the employee: William Age of the employee: 28