Конструктор на Java - Різні типи конструктора з прикладами

Зміст:

Anonim

Вступ до конструктора на Java

Конструктори на Java - це спеціальні типи методів, які використовуються для ініціалізації об'єктів класу. Конструктори викликаються під час створення об’єкта класу. Як і методи, хоча вони містять набір рядків коду, вони сильно відрізняються від них. Конструктори мають те саме ім’я, що і клас Java, але він не має жодного типу повернення. У Java нове ключове слово (), яке використовується для створення об'єкта, і кожного разу, коли створюється новий об'єкт і викликається один конструктор. Конструктор викликається після виділення пам'яті об'єкту. На момент створення об'єкта конструктори використовуються для ініціалізації значень змінних класів до стандартних або бажаних.

Якщо користувач не створює жодного конструктора в програмі, Java сама створює для нього конструктор за замовчуванням і призначає значення за замовчуванням для різних об'єктів, наприклад, для числового значення за замовчуванням дорівнює 0, для символу ('\ 0') і посилальних змінних як нуль . Як і методи, конструктори можуть бути перевантажені, тобто в одному класі може бути багато конструкторів, якщо всі вони мають унікальну підпис.

Основний синтаксис Constructor на Java наведено нижче:

Синтаксис

public class Student() // name of the class
(
. . . .
. . . .
. . . .
Student() // this is Constructor with the same name of class
(
. . .
. . .
)
new Student(); // object creation and value initialization
)

У наведеному вище синтаксисі Student () - це ім'я конструктора, яке відповідає імені класу, і об'єкти в Java створюються за допомогою ключового слова new.

Як працює конструктор на Java?

Щоб зрозуміти роботу конструкторів на Java, візьмемо приклад, наведений нижче:

Код

public class Student()
(
int rollno;
String name;
Student(int rollno, String name)
(
this.rollno = rollno;
this.name = name;
)
public static void main(String() args)
(
Student st = new Student(12, 'Ananya');
System.out.println(“Student name = ”+ st.name + “Student rollno = ”+st.rollno);
)
)

Вихід

У наведеному вище прикладі маємо змінні екземпляри (змінні класу). Roll no і name та st - це ім'я об'єкта, створеного класом Student. Коли об'єкт st створений, він викликає конструктор Student та ініціалізує змінні класу зі значенням rollno як 12 та ім'ям як 'Ananya', інакше значення за замовчуванням, наприклад 0 для rollno та null для імені, будуть присвоєні змінним. Отже, після присвоєння значень та їх друку, ім'я студента друкується як Ананія та Студент, як 12.

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

Є два типи конструкторів на Java на основі параметрів:

1. Непараметризовані / Ні аргументи Конструктор

Коли ми не передаємо аргументи в конструктор, той конструктор відомий як конструктор без параметризованих параметрів або без аргументів. Коли програміст не визначає жодного конструктора в програмі Java, компілятор Java сам додає в нього конструктор, відомий як конструктор за замовчуванням, який надає значення за замовчуванням об'єкту, як 0, null і т.д. Конструктор за замовчуванням не має спеціального типу конструктора але потрапляє в категорію конструктора без аргументів.

Приклад (конструктор за замовчуванням)

Код

public class Hello()
(
String name;
void display() //method to display name the value of variables
(
System.out.println(“name is” +name);
)
)
public class HelloMain()
(
public static void main(String() args)
(
Hello h1 = new Hello();
h1.display();
)
)

Вихід:

У наведеному вище прикладі це не конструктор, визначений програмістом, тому компілятор буде трактувати цю програму як:

Код

public class Hello()
(
String name;
Hello() //default constructor created by compiler
(
name = null
)
void display()
(
System.out.println(“name is” +name);
)
)
public class HelloMain()
(
public static void main(String() args)
(
Hello h1 = new Hello();
h1.display();
)
)

Приклад (Непараметризований конструктор)

Код

public DemoProgram() // class
(
DemoProgram() // constructor with no arguments
(
System.out.println(“Hello this is just an example of no-arg constructor”);
)
public static void main(String() args)
(
new DermoProgram();
)
)

Вихід:

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

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

Параметризовані конструктори - це ті конструктори, в яких ми передаємо аргументи або параметри. У цьому конструкторі значення передаються під час створення об'єкта.

Приклад (параметризовані конструктори)

Код

public class Animal()
(
int legs;
String sound;
Animal(int legs, String sound) // parameterized constructor
(
this.legs = legs; // values with get initialize of what is passed while object crea-this.sound = sound; // tion, ie (4, “bow bow”)
)
void display() // method to display the values
(
System.out.println(“Legs are ”+legs+“Sound is ”+sound);
)
)
class AnimalPlanet()
(
Public static void main(String() args)
(
Animal an = new Animal(4, “bow bow”);
an.display();
)
)

Вихід:

У наведеному вище прикладі значення 4 присвоюється ногам, а струна "лук-лук" призначається звуку в конструкторі Animal. Отже, коли виклик методу викликається, обидва значення друкуються у висновку.

Важливі пункти, які слід пам’ятати

  • Кожен клас має конструктор, незалежно від того, створив він програміст чи ні.
  • Ім’я конструктора має бути таким же, як ім'я класу.
  • Конструктор не має зворотного типу, на відміну від методів.
  • це () та super () ключове слово має бути першим твердженням у конструкторі.
  • Як і методи, конструктори можуть бути перевантажені.
  • Конструктори не можна перекривати.
  • Один конструктор може викликати іншого конструктора того ж класу, використовуючи ключове слово this ().
  • Специфікатори / модифікатори доступу можуть застосовуватися перед іменем конструктора, щоб оголосити область його застосування в класі.
  • У Java конструктор ніколи не може бути статичним, остаточним, абстрактним та синхронізованим.

Висновок

Конструктори відіграють важливу роль у роботі з мовою програмування Java. Треба зрозуміти повні поняття Constructor, різні типи конструкторів, Chain Constructor, ключове слово super (), яке використовується для виклику батьківського конструктора для роботи відповідно до конкретного сценарію. Хоча працювати з конструкторами на Java дуже просто, як працювати з методами, але є кілька моментів, характерних для конструкторів, яких слід досконально вивчити.

Рекомендована стаття

Це керівництво для конструктора в java. Тут ми обговорюємо, як конструктор працює в java, а також типи та приклади з відповідною реалізацією коду. Ви також можете ознайомитись із запропонованими нами статтями, щоб дізнатися більше -

  1. Конструктор у JavaScript та типи
  2. Вступ до конструктора в Python
  3. Конструктор в C ++ і типах
  4. Конструктор в PHP (приклади)