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

Параметризованный Конструктор На языке Java | Примеры конструкторов Java

В этой статье рассказывается о том, как мы можем использовать параметризованный конструктор в java с различными примерами и различиями между стандартным и параметризованным конструктором.

Автор оригинала: Waseem.

Java-один из многих языков программирования, который следует объектно-ориентированному подходу. Это означает, что при программировании на Java у нас есть все мощные функции абстракции данных, полиморфизма, наследования и т.д. Ядром всех функций ООП является реализация классов и объектов и их взаимодействие друг с другом. В этой статье мы, в частности, рассмотрим, как инициализировать объект с помощью параметризованных конструкторов в Java.

Что Такое Конструктор?

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

public class Edureka{
Edureka(){ System.out.println("constructor is made");}
}

Некоторые функции конструктора включают в себя:

  1. Он имеет то же имя, что и имя класса
  2. Он не имеет возвращаемого типа

Типы Конструктора

  1. Конструктор по умолчанию
  2. Параметризованный Конструктор
Параметризованный Конструктор

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

Конструктор по умолчанию – Конструктор, который не принимает никаких параметров, называется Конструктором по умолчанию. Нет необходимости иметь блок конструктора в определении класса. Если вы явно не напишете конструктор, компилятор автоматически вставит его для вас.

Пример, иллюстрирующий конструктор по умолчанию в Java:

public class Edureka{
Edureka()
{ System.out.println("I am a constructor");}
public static void main(String args[]){
Edureka obj = new Edureka();
}
}
Output: I am a constructor

Параметризованный конструктор – Конструктор называется Параметризованным конструктором, когда он принимает определенное количество параметров. Для инициализации элементов данных класса с различными значениями.

Пример, иллюстрирующий параметризованный конструктор:

public class Edureka{
String studentName;
int studentAge;
//constructor
Edureka(String name, int age){
studentName = name;
studentAge = age;
}
void display(){
System.out.println(studentName+ " "+studentAge);
}
public static void main(String args[])
{
Edureka myObj = new Edureka("Manan" , 19);
myObj.display();
}
}
Output: Manan-19

В приведенном выше примере мы передаем объекту строку и целое число. Затем конструктор инициализирует имя учащегося и возраст учащегося, используя переданные значения. Затем метод отображения выдает желаемый результат.

С параметризованным конструктором для класса необходимо указать начальные значения в качестве аргументов, в противном случае компилятор сообщает об ошибке.

С параметризованным конструктором для класса необходимо указать начальные значения в качестве аргументов, в противном случае компилятор сообщает об ошибке.

Передача Объектов В Качестве Аргументов

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

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

public class Edureka{
String studentName;
Edureka(String name){
studentName = name;
}
Edureka(Edureka myObj){
this.studentName = myObj.studentName;
}
void display(){
System.out.println("Student:" + studentName);
}
public static void main(String args[])
{
Edureka obj1 = new Edureka("Manan");
/* passing the object as an argument for the constructor 
* this will invoke the copy constructor
*/
Edureka obj2 = new Edureka(obj1);
System.out.println("Printing obj1 - ");
obj1.display();
System.out.println("Printing obj2 - ");
obj2.display();
}
}
Output:
Printing object 1 - MananPrinting object 2 - Manan

В приведенном выше примере мы инициализируем obj1 с помощью строки. Затем мы передаем obj1 в качестве аргумента при создании obj2. Наконец, когда мы печатаем переменную имени студента обоих объектов с помощью функции отображения, мы получаем “Много”.

Вызов Конструктора По Умолчанию Из Параметризованного Конструктора в Java

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

Пример, иллюстрирующий вызов конструктора по умолчанию из параметризованного конструктора:

public class Edureka{
String studentName;
int studentAge;
String member;
Edureka(){
member = "YES";
}
Edureka(String name , int age){
this();
/* this is used for calling the default constructor
*from parameterized constructor
*/
studentName = name;
studentAge = age;
}
void display(){
System.out.println(studentName + " -" + studentAge+ "-"+ "Member" + member);
}
public static void main(String args[])
{
Edureka obj = new Edureka("Manan" , 21);
obj.display();
}
}

Вывод: Манан – 21 – Член ДА

В приведенном выше примере при вызове параметризованного конструктора он сначала вызывает конструктор по умолчанию с помощью ключевого слова this (). Конструктор по умолчанию инициализирует переменную “член” на “ДА”, а затем продолжает выполнять параметризованный конструктор.

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

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

Пример, иллюстрирующий перегрузку конструктора:

public class Rectangle{
int length;
int breadth;
String color;
//constructor 1
Rectangle( int l , int b){
length = l;
breadth = b;
color = "Green";
}
//constructor 2
Rectangle(int l, int b, String c){
length = l;
breadth = b;
color = c;
}
void display(){
System.out.println("Length-" + length + "Breadth-" + breadth+ "Color" + color);
}
public static void main(String args[]){
Rectangle obj1 = new Rectangle(2,4);
Rectangle obj2 = new Rectangle(2,4,"Green");
obj1.display();
obj2.display();
}
}
Output:
Length - 2 Breadth - 4 Color - GreenLength - 2 Breadth - 4 Color - Red

У вас есть к нам вопрос? пожалуйста, упомяните об этом в разделе комментариев этой статьи “Параметризованный конструктор в Java”, и мы свяжемся с вами как можно скорее.

Оригинал: “https://www.codementor.io/@waseem599/parameterized-constructor-in-java-java-contsructor-examples-wk0g8a3bq”