Введение в конструктор в Java
Конструкторы в Java - это специальные типы методов, которые используются для инициализации объектов класса. Конструкторы вызываются во время создания объекта класса. Точно так же, как методы, хотя они содержат набор строк кода, они сильно отличаются от них. Конструкторы имеют то же имя, что и класс Java, но не имеют возвращаемого типа. В Java ключевое слово new () используется для создания объекта и каждый раз, когда создается новый объект и вызывается один конструктор. Конструктор вызывается после выделения памяти для объекта. Во время создания объекта конструкторы используются для инициализации значений переменных класса либо значениями по умолчанию, либо желаемыми.
Если пользователь не создает конструктор в программе, сама Java создает для него конструктор по умолчанию и присваивает значения по умолчанию различным объектам, например, для числового значения по умолчанию - 0, для символа ('\ 0') и ссылочных переменных - как ноль, Как и методы, конструкторы могут быть перегружены, то есть один класс может иметь много конструкторов, если все они имеют уникальную сигнатуру.
Основной синтаксис конструктора в 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 для имени, будут присвоены переменным. Следовательно, после присвоения значений и их распечатки имя студента печатается как Ananya, а Student катится как 12.
Типы конструкторов в Java
В Java есть два типа конструкторов, основанных на параметрах:
1. Не параметризованный / без аргументов конструктор
Когда мы не передаем аргументы в конструктор, этот конструктор известен как конструктор без параметров или без аргументов. Когда программист не определяет какой-либо конструктор в программе Java, компилятор Java сам добавляет в него конструктор, известный как конструктор по умолчанию, который предоставляет значения по умолчанию для объекта, такие как 0, ноль и т. Д. Конструктор по умолчанию не является специальным типом конструктора. но попадает в категорию конструктора без аргументов.
Пример (конструктор по умолчанию)
Код
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. Поэтому, когда вызывается метод display, оба значения печатаются в выводе.
Важные моменты для запоминания
- У каждого класса есть конструктор, независимо от того, создает его программист или нет.
- Имя конструктора должно совпадать с именем класса.
- Конструктор не имеет возвращаемого типа, в отличие от методов.
- Ключевое слово this () и super () должно быть первым оператором в конструкторе.
- Как и методы, конструкторы могут быть перегружены.
- Конструкторы не могут быть переопределены.
- Один конструктор может вызывать другой конструктор того же класса, используя ключевое слово this ().
- Спецификаторы / модификаторы доступа могут быть применены перед именем конструктора, чтобы объявить его область действия в классе.
- В Java конструктор никогда не может быть статическим, окончательным, абстрактным и синхронизированным.
Вывод
Конструкторы играют важную роль в работе с языком программирования Java. Нужно понимать полные концепции конструктора, различные типы конструкторов, конструктор цепочки, ключевое слово super (), используемое для вызова родительского конструктора для работы в соответствии с конкретным сценарием. Хотя работа с конструкторами в Java очень проста, как работа с методами, но есть несколько моментов, специфичных для конструкторов, которые следует тщательно изучить.
Рекомендуемая статья
Это руководство для конструктора в Java. Здесь мы обсудим, как конструктор работает в Java, а также типы и примеры с соответствующей реализацией кода. Вы также можете просмотреть наши предлагаемые статьи, чтобы узнать больше-
- Конструктор в JavaScript и типах
- Введение в конструктор в Python
- Конструктор в C ++ и типы
- Конструктор в PHP (Примеры)