De komst van Java heeft de programmeerwereld stormenderhand veroverd en de belangrijkste reden daarvoor is het aantal functies dat het met zich meebracht. In dit artikel bespreken we Constructor Overloading in . De volgende tips zullen in dit artikel worden besproken,
Constructor Overloading in Java
Wat is een constructeur?
Een constructor is een codeblok dat wordt gebruikt om een object van een klasse te maken. Elke klasse heeft een constructor, of het nu een normale klasse of een abstracte klasse is. Een constructor is net als een methode, maar zonder retourtype. Als er geen constructor is gedefinieerd voor een klasse, wordt een standaardconstructor gemaakt door de compiler.
java addactionlistener (dit)
Voorbeeld
public class Student {// no constructor private String name private int age private String std // getters en setters public void display () {System.out.println (this.getName () + '' + this.getAge () + ' '+ this.getStd ())} public static void main (String args []) {// om de weergavemethode van de Student-klasse te gebruiken, maak een object van Student Student student = new Student () // aangezien we geen constructor hebben gedefinieerd , compiler maakt standaard constructor. zodat student.display ()}}
In het bovenstaande programma wordt de standaardconstructor gemaakt door de compiler, zodat het object wordt gemaakt. Het is een must om een constructor te hebben.
Dit brengt ons bij de volgende in dit artikelConstructor overbelast in Java.
Behoefte aan andere constructeurs
In het bovenstaande voorbeeld kan Student-object alleen worden gemaakt met de standaardconstructor. Waar alle andere kenmerken van student niet zijn geïnitialiseerd. Maar er kunnen bepaalde andere constructors zijn die worden gebruikt om de toestand van een object te initialiseren. voor bijvoorbeeld -
public class Student {// attributes String name int age String std // Constructors public Student (String name) {// Constructor 1 this.name = name} public Student (String name, String std) {// Constructor 2 this.name = naam this.std = std} openbare student (tekenreeksnaam, tekenreeks std, int leeftijd) {// Constructor 3 this.name = naam this.std = std this.age = leeftijd} openbare ongeldige weergave () {System.out .println (this.getName () + '' + this.getAge () + '' + this.getStd ())} public static void main (String args []) {Student stu1 = nieuwe student ('ABC') stu1 .display () Student stu2 = nieuwe student ('DEF', '5-C') stu2.display () Student stu3 = nieuwe student ('GHI', '6-C', 12) stu3.display ()}}
Dit brengt ons bij de volgende in dit artikelConstructor overbelast in Java.
this () referentie
this () referentie kan worden gebruikt in de constructor met parameters om de standaardconstructor impliciet aan te roepen. Let op, this () zou de eerste instructie binnen een constructor moeten zijn.
Voorbeeld
public Student () {} // Constructor 4 public Student (String name, String std, int age) {// Constructor 3 this () // roept de standaard constructor aan. * Als het niet de eerste instructie van de constructor is, treedt ERROR op * this.name = name this.std = std this.age = age
Opmerking
- Recursieve constructor-aanroep is ongeldig in Java
- Als we een constructor met parameters hebben gedefinieerd, zal de compiler geen standaardconstructor maken. en vice versa als we geen constructor definiëren, maakt de compiler standaard de standaardconstructor (ook bekend als no-arg constructor) tijdens het compileren
- Constructor-aanroep moet de eerste instructie van constructor in Java zijn
Hiermee zijn we aan het einde gekomen van dit artikel over ‘Constructor overloading in Java’. Als je meer wilt weten, bekijk dan de door Edureka, een vertrouwd online leerbedrijf. Edureka's Java J2EE- en SOA-trainings- en certificeringscursus is ontworpen om u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.
Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van deze blog en we nemen zo snel mogelijk contact met je op.