Как най-добре да се приложи претоварването на конструктора в Java?



Тази статия ще ви запознае с претоварването на конструктора в Java. Обяснението ще бъде последвано от програмна демонстрация.

Появата на Java завладя света на програмирането и основната причина за това са многобройните функции, които той донесе. В тази статия ще обсъждаме Претоварване на конструктора в . Следните указания ще бъдат обсъдени в тази статия,

Нека започнем тогава,





Претоварване на конструктора в Java

Какво е конструктор?

Конструкторът е блок от код, използван за създаване на обект от клас. Всеки клас има конструктор, бил той нормален клас или абстрактен клас. Конструкторът е точно като метод, но без тип връщане. Когато няма дефиниран конструктор за клас, конструкторът по подразбиране се създава от компилатора.

уроци за Microsoft SQL за начинаещи

Пример



публичен клас Student {// няма конструктор private String име private int age private String std // getters и setters public void display () {System.out.println (this.getName () + '' + this.getAge () + ' '+ this.getStd ())} public static void main (String args []) {// за използване на метод на показване на клас Student, създаване на обект на Student Student student = new Student () // тъй като не сме дефинирали никакъв конструктор , компилаторът създава конструктор по подразбиране. така че student.display ()}}

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

Това ни отвежда до следващото от тази статия наПретоварване на конструктора в Java.

Нужда от други конструктори

В горния пример студентският обект може да бъде създаден само с конструктор по подразбиране. Където всички други атрибути на студента не са инициализирани. Но може да има някои други конструктори, които се използват за инициализиране на състоянието на обект. напр. -



публичен клас Student {// атрибути Име на низ int age String std // Конструктори public student (Име на низ) {// Конструктор 1 this.name = name} публичен студент (Име на низ, Std std) {// Конструктор 2 this.name = име this.std = std} публичен студент (Име на низ, Std std, int възраст) {// Конструктор 3 this.name = име this.std = std this.age = age} public void display () {System.out .println (this.getName () + '' + this.getAge () + '' + this.getStd ())} public static void main (String args []) {Student stu1 = new Student ('ABC') stu1 .display () Student stu2 = new Student ('DEF', '5-C') stu2.display () Student stu3 = new Student ('GHI', '6-C', 12) stu3.display ()}}

Това ни отвежда до следващото от тази статия наПретоварване на конструктора в Java.

тази () препратка

тази () препратка може да се използва вътре в параметризиран конструктор, за да извика подразбиращо конструктора по подразбиране. Моля, обърнете внимание, това () трябва да е първото изявление в конструктора.

Пример

public Student () {} // Конструктор 4 public Student (String name, String std, int age) {// Конструктор 3 this () // ще извика конструктора по подразбиране. * Ако това не е първият оператор на конструктор, ще възникне ГРЕШКА * this.name = име this.std = std this.age = age

Забележка

  • Рекурсивното извикване на конструктор е невалидно в Java
  • Ако сме дефинирали някакъв параметризиран конструктор, тогава компилаторът няма да създаде конструктор по подразбиране. и обратно, ако не дефинираме никакъв конструктор, компилаторът създава конструктора по подразбиране (известен също като no-arg конструктор) по подразбиране по време на компилацията
  • Извикването на конструктор трябва да бъде първият израз на конструктора в Java

По този начин стигнахме до края на тази статия за „Претоварване на конструктора в Java“. Ако искате да научите повече, разгледайте от Edureka, доверена компания за онлайн обучение. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен да ви обучи както за основните, така и за разширените Java концепции, заедно с различни Java рамки като Hibernate & Spring.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог и ние ще се свържем с вас възможно най-скоро.