Рубрики
Без рубрики

Краткий обзор конструкторов Java

Введение Java – одна из новых и востребованных технологий в настоящее время… С тегами java, advanced java, конструкторы, j2ee.

Вступление

Java – одна из новых и востребованных технологий в текущем сценарии. Будучи самым безопасным и надежным и обладая огромными возможностями, он стал одним из самых востребованных.

Мы все знаем, что объекты играют решающую роль в Java и создаются с использованием начальных значений, предоставляемых двумя способами. Это утомительный подход, инициализирующий переменные объекта таким образом. Один из способов – использовать оператор dot для доступа к переменной экземпляра и присвоения им значений по отдельности. Другой способ – использование конструкторов – самый простой и наиболее предпочтительный способ присвоения значений переменным в Java.

Теперь давайте поговорим о конструкторах и их важности при присвоении значений переменным в Java.

Конструктор

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

  1. Правила конструктора:

a. Имя конструктора должно совпадать с именем класса. b. Конструктор не может иметь никакого возвращаемого типа, даже Void.

  1. Конструктор выполняется во время создания объекта.
  2. Конструктор может иметь n аргументов.
  3. Переменная, объявленная внутри конструктора, называется локальными переменными.
  4. Конструктор можно разделить на 2 типа:

    a. Конструктор по умолчанию. b. Пользователь определяет конструктор.

Пользовательский конструктор определения:

Конструктор, который создается пользователем, называется определяемым пользователем конструктором. Он также вызывается как явный конструктор. Его можно разделить на:

i) User define параметризованный конструктор: Если конструктор содержит какие-либо аргументы или если пользователь передает какое-либо значение внутри конструктора, вызывается user define параметризованный конструктор.

Экс:

демонстрация общедоступного класса { Демонстрация(строка s, int i)//Параметризованный конструктор { System.out.println(“значение I равно “+i+ “\значение S равно “+s);

} void display()//Метод { System.out.println(“Я нахожусь внутри метода отображения”); } public static void main(String[] args) { Demo Demo(“Rashda”,10); d.display(); } }

Запускайте свою программу от имени класса до тех пор, пока в окне вывода не появится следующее:

Выход:

значение I равно 10 Значение S равно Rashda Я нахожусь внутри метода отображения

ii) Пользователь определяет непараметризованный конструктор: Если конструктор не имеет никакого аргумента или если пользователь не передает никакого значения внутри конструктора, вызывается user define непараметризованный конструктор.

Экс:

демонстрация общедоступного класса { Демонстрация()//Непараметризованный конструктор { System.out.println(“Я внутри конструктора”); } void display()//Метод { System.out.println(“Я внутри метода отображения”); } public static void main(String[] args) { Demo Demo(); d.отображение(); } }

Затем программа перемещает непараметризованный конструктор к следующей строке кода

Выход:

Я нахожусь внутри конструктора, я нахожусь внутри метода отображения

Конструктор по умолчанию:

  1. Конструктор, который генерируется компилятором, называется конструктором по умолчанию.
  2. Конструктор по умолчанию не имеет никакой реализации (инструкции).
  3. У каждого КЛАССА есть конструктор по умолчанию.
  4. Конструктор по умолчанию также вызывается как неявный конструктор.

Экс:

  1. демонстрация публичного класса {

public static void main (String[] args) { Demo Demo(10); } } вывод: выдает ошибку во время компиляции, поскольку нет параметризованного конструктора, который присутствует внутри класса.

  1. образец публичного класса{ public static void main(String[] args) { Sample Sample(); } }

Теперь это приводит к ошибке времени компиляции, потому что нет параметризованного конструктора

Выход:

Нет ошибки во время компиляции В приведенной выше программе JVM выполнила конструктор по умолчанию, который генерируется компилятором.

Примечание:

  1. Если пользователь определяет какой-либо конструктор внутри класса, то компилятор не будет генерировать никакого конструктора по умолчанию.
  2. Если пользователь не определяет какой-либо конструктор внутри класса, то только компилятор будет генерировать конструктор по умолчанию.
  3. Конструктор создает объект и инициализирует состояние. Пример: Образец открытого класса { Образец(int i) { system.out.println(i); } общедоступный статический void main(Строка[] аргументы) { Образец образца(10); Образец образца(); } }

Вывод: выдает ошибку времени компиляции, поскольку в приведенном выше классе отсутствует конструктор по умолчанию.

Назначение конструктора:

  1. Создание объекта.
  2. Для инициализации состояний, то есть для инициализации значений локальных переменных в переменные экземпляра.

Примечание:

  1. Мы не можем получить доступ к значению локальной переменной вне метода и вне конструктора.
  2. Значение локальной переменной находится в области метода или в области конструктора.
  3. Конструктор не может вернуть никакого значения.

Экс:

ученик класса { Имя строки;

идентификатор int; Строковое имя колледжа; Студент(Строка n,int i,Строка c)//Конструктор { ; ; ; } void display() {System.out.println(“Name is “+name+”\n Id is “+ id + “\n название колледжа “+ название колледжа); } } пример открытого класса { public static void main(строка[] аргументы) { Студент Студент (“Джон”,1, “КИТ”); S1.дисплей(); Студент Студент (“Майк”,2, “КИТ”); S2.дисплей(); Студент Студент (“Адам”,3, “КИТ”); S3.дисплей(); } }

Введите “Имена”, “Идентификаторы”, “Названия колледжей”.

Выход:

Зовут Джон Идентификатор 1 колледж зовут КИТ Зовут Майк Я дис 2 название колледжа КИТ Имя Адам Идентификатор 3 название колледжа КИТ

Примечание:

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

Экс:

  1. ученик класса { Имя строки;

идентификатор int; Строковое имя колледжа; Студент(Строковое имя, идентификатор int, Строковое имя колледжа)//Конструктор { ; ; ; } void display() { System.out.println(“Name is “+name+”\n Id is “+ id + “\n название колледжа “+ collegename); } } пример открытого класса { public static void main(строка[] аргументы) { Студент Студент (“Джон”,1, “КИТ”); S1.дисплей(); Студент Студент (“Майк”,2, “КИТ”); S2.дисплей(); Студент Студент (“Адам”,3, “КИТ”); S3.дисплей(); } }

Ввод: Печать; ; ;”

вывод: Имя равно нулю Идентификатор равен 0 название колледжа равно нулю Имя равно нулю Идентификатор равен 0 название колледжа равно нулю Имя равно нулю Идентификатор равен 0 название колледжа равно Нулевой

Пример 2: класс Student { Строковое имя; идентификатор int; Строковое имя колледжа; Студент (Строковое имя, идентификатор int, Строковое имя колледжа)//Конструктор {

this.name ; ; ; } void display() { System.out.println(“Name is “+name+”\n Id is “+ id + “\n название колледжа “+ название колледжа); } } пример открытого класса { public static void main(строка[] аргументы) { Студент Студент (“Джон”,1, “КИТ”); S1.дисплей(); Студент Студент (“Майк”,2, “КИТ”); S2.дисплей(); Студент Студент (“Адам”,3, “КИТ”); S3.дисплей(); } }

Входные данные: Строковое имя; идентификатор int; Строковое имя колледжа;

Печать; ; ;”

Выход:

Зовут Джон Идентификатор 1 колледж зовут КИТ Зовут Майк Я дис 2 название колледжа КИТ Имя Адам Идентификатор 3 название колледжа КИТ

Строка .0 .0

Вывод:

Таким образом, конструкторы многое добавляют к удобству использования и удобочитаемости любого класса в Java. Было бы трудно тестировать классы с момента создания объекта без знания конструктора, и он работает.

В этой статье мы узнали о том, как конструкторы работают в Java и почему они необходимы. На самом деле, использование конструктора стало проще, поскольку вы можете использовать внедрение зависимостей для инициализации класса. При работе с открытыми исходными кодами, такими как Google Guice и Spring framework, станет легко использовать и тестировать эти классы с помощью соответствующих конструкторов.

Оригинал: “https://dev.to/manojyarramsetti5/a-brief-view-of-java-constructors-3ah2”