Конструктор на 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.

Как работи Constructor в Java?

За да разберем работата на Constructors в 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, различни видове конструктори, Constructor Chaining, ключовата дума super (), използвана за извикване на родителския конструктор, за да работи според конкретния сценарий. Въпреки че работата с конструктори в Java е много лесна като работа с методи, но има няколко точки, специфични за конструкторите, които трябва да бъдат научени задълбочено.

Препоръчителен член

Това е ръководство за конструктора в Java. Тук обсъждаме как работи конструкторът в Java, заедно с типовете и примерите с подходяща реализация на код. можете също да прегледате нашите предложени статии, за да научите повече-

  1. Конструктор в JavaScript и типове
  2. Въведение в конструктора в Python
  3. Конструктор в C ++ и типове
  4. Конструктор в PHP (Примери)