Все, что вам нужно знать о Java-конструкторе

Операторы Java мы познакомим вас с наиболее важными операторами Изучение

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

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

Правила создания Java-конструктора

  • Конструктор Java не должен иметь явный тип возвращаемого значения.
  • Он не может быть абстрактным, окончательным, статичным или синхронизированным.
  • Имя конструктора должно совпадать с именем, принадлежащим его классу.

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

В Java есть два типа конструкторов:

Конструктор по умолчанию или конструктор без аргументов

Конструктор Java по умолчанию не имеет параметров. Вот почему он также известен как конструктор без аргументов. Общий синтаксис конструктора Java по умолчанию:

<class_name>(){}

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

Недостаток использования конструктора по умолчанию, который автоматически создается javac, заключается в том, что впоследствии программист не сможет установить начальные значения атрибутов объекта.

Пример:

class ConstructorDemo
{
ConstructorDemo()
public static void main(String args[])
{
ConstructorDemo a = new ConstructorDemo();
}
}

Выход:

The constructor is created successfully!

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

Любой конструктор Java с несколькими параметрами называется параметризованным конструктором. Хотя параметризованный конструктор обычно используется для предоставления разных значений различным объектам Java, он также может предоставлять одни и те же значения различным объектам Java.

Пример:

class ParaConst
{
int id;
String name;
ParaConst(int i, String n)
{
id = i;
name = n;
}
void display()
public static void main(String args[])
{
ParaConst s1 = new ParaConst(121, “Akhil”);
ParaConst s2 = new ParaConst(232, “Vijay”);
s1.display();
s2.display();
}
}

Выход:

121 Akhil
232 Vijay

Перегрузка конструктора

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

Читайте также:  Полное руководство по событиям жизненного цикла в Binding

Компилятор Java различает перегруженные конструкторы по общему количеству параметров в списке и их типам. Следующий фрагмент кода демонстрирует перегрузку конструктора в Java:

class OverloadConst
{
int id;
String name;
int age;
OverloadConst(int i,String n)
{
id = i;
name = n;
}
OverloadConst(int i, String n, int a)
{
id = i;
name = n;
age = a;
}
void display()
public static void main(String args[])
{
OverloadConst s1 = new OverloadConst(121, “Akhil”);
OverloadConst s2 = new OverloadConst(232, “Vijay”,25);
s1.display();
s2.display();
}
}

Выход:

121 Akhil 0
232 Vijay 25

Конструктор против метода в Java

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

Конструктор Java — это особый тип метода. Оба во многом похожи, но не идентичны. Вот некоторые из наиболее важных различий между конструктором Java и методом Java:

Вызов. Хотя конструктор вызывается неявно, метод вызывается явно.

  • Компилятор Java. Компилятор Java никогда не предоставляет методы Java. Однако компилятор Java предоставляет конструктор по умолчанию, если он не определен в классе Java.
  • Соглашение об именах. Имя конструктора в Java должно совпадать с именем класса. Однако метод может иметь то же имя, что и содержащий его класс, а может и не иметь его.
  • Количество вызовов. Конструктор Java вызывается один раз и только во время создания объекта. С другой стороны, метод Java можно вызывать столько раз, сколько потребуется.
  • Тип возвращаемого значения. Метод Java должен иметь тип возвращаемого значения, но наличие такого же типа для конструктора не является обязательным.
  • Использование. Хотя метод используется для раскрытия поведения объекта Java, конструктор используется для инициализации состояния того же самого объекта.

Конструктор копирования в Java

Хотя в Java не предусмотрен конструктор копирования, можно копировать значения из одного объекта Java в другой точно так же, как при использовании конструктора копирования в C++.

Помимо использования конструктора для копирования значений из одного объекта в другой, то же самое можно сделать следующим образом:

  • Присвоение значений одного объекта другому
Читайте также:  Основные функции Java 8 (с примерами)

Или

  • Используя метод clone() класса Object

Следующая программа демонстрирует использование конструктора Java для копирования значений из одного объекта Java в другой:

class Copy
{
int id;
String name;
Copy(int i,String n)
{
id = i;
name = n;
}
Copy(Copy s)
{
id = s.id;
name = s.name;
}
void display()
public static void main(Strong args[])
{
Copy s1 = new Copy(121, ”Akhil”);
Copy s2 = new Coopy(s1);
s1.display();
s2.display();
}
}

Выход:

121 Akhil
121 Akhil

Некоторые часто задаваемые вопросы о Java Constructor

Ниже приведены некоторые из наиболее часто задаваемых вопросов, касающихся конструктора Java. Некоторые из них являются одними из самых популярных вопросов на собеседовании по Java :

Вопрос: Возвращает ли конструктор какое-либо значение?

О : Хотя вы не можете использовать возвращаемый тип с конструктором Java, он возвращает значение. Конструктор Java возвращает текущий экземпляр класса.

Вопрос: Что такое цепочка конструкторов в Java?

О : Цепочка конструкторов — это метод вызова конструктора из какого-либо другого конструктора в языке программирования Java. В то время как метод this() используется для вызова того же конструктора класса, метод super() используется для вызова конструктора суперкласса.

Вопрос: Можно ли в Java вызвать конструктор подкласса из конструктора суперкласса?

А : Нет.

Вопрос: Есть ли в Java деструкторы?

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

Вопрос: Какие задачи, кроме инициализации, может выполнять Java-конструктор?

О : Конструктор Java может выполнять любые операции, которые можно выполнить с помощью метода. Некоторые из наиболее популярных задач, выполняемых с помощью конструктора Java:

  • Вызов метода
  • Создание объекта
  • Начало темы

Вопрос: Когда в Java возникает необходимость в перегрузке конструктора?

О : Перегрузка конструктора обычно используется в Java, когда требуется инициализировать объект Java несколькими различными способами.

Вопрос: Что произойдет, если вы добавите возвращаемый тип для конструктора Java?

О : Конструктор Java с возвращаемым типом будет рассматриваться как типичный метод Java, а компилятор Java выдаст предупреждение » этот метод имеет имя конструктора «.

Заключение

Итак, это все, что касается конструктора Java. Обучение тому, как эффективно использовать конструкторы, является одним из важных элементов для создания надежных знаний языка программирования высокого уровня общего назначения.

Оцените статью
Блог о программировании
Добавить комментарий