Konstruktor Java - Eri tüüpi konstruktorid näidetega

Lang L: none (table-of-contents):

Anonim

Sissejuhatus Java konstruktorisse

Java konstruktorid on spetsiaalsed meetoditüübid, mida kasutatakse klassi objektide initsialiseerimiseks. Ehitajaid kutsutakse klassi objekti loomise ajal. Täpselt nagu meetodid, ehkki neil on koodiridade komplekt, on nad neist üsna erinevad. Konstruktoritel on sama nimi kui Java klassil, kuid sellel puudub tagasivõtutüüp. Java-keeles uus () märksõna, mida kasutatakse objekti loomiseks ja iga kord, kui luuakse uus objekt ja kutsutakse üks konstruktor. Ehitaja kutsutakse pärast mälu eraldamist objektile. Objektide loomise ajal on konstruktorid harjunud klassimuutujate väärtused lähtestama kas vaikimisi või soovitud väärtustele.

Kui kasutaja ei loo programmis ühtegi konstruktorit, loob Java ise selle jaoks vaikekonstrukatori ja määrab vaikimisi väärtused erinevatele objektidele, näiteks kui arvuline vaikesuurus on 0, märgi ('\ 0') ja viitemuutujate puhul null . Sarnaselt meetoditele saab konstruktoreid üle koormata, st ühes klassis võib olla palju konstruktoreid, kui kõigil neil on kordumatu allkiri.

Järgnevalt on toodud konstruktori põhisüntaks Java-s:

Süntaks

public class Student() // name of the class
(
. . . .
. . . .
. . . .
Student() // this is Constructor with the same name of class
(
. . .
. . .
)
new Student(); // object creation and value initialization
)

Ülaltoodud süntaksis on õpilane () konstruktori nimi, mis on sama kui klassi nimi, ja Java objektid luuakse märksõnaga new.

Kuidas töötab konstruktor Java keeles?

Konstruktorite Java-s töötamise mõistmiseks võtame allpool toodud näite:

Kood

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);
)
)

Väljund

Ülaltoodud näites on meil esinemismuutujad (klassimuutujad). Rull nr ja nimi ja st Kas klassi õpilasel on loodud objekti nimi. Kui objekt st luuakse, kutsub see ehitaja Student ja initsialiseerib klassimuutujad rullo väärtusega 12 ja nimega 'Ananya'. Vastasel juhul omistatakse muutujatele vaikeväärtused nagu 0 rollno jaoks ja null nime jaoks. Pärast väärtuste määramist ja nende printimist trükitakse õpilase nimi kui Ananya ja õpilase nimi nagu 12.

Konstruktorite tüübid Java-s

Parameetrite põhjal on Java-s 2 tüüpi konstruktoreid:

1. Parameetriteta / argumentideta konstruktor

Kui me konstruktoris argumente ei edasta, nimetatakse seda konstruktorit parameetriteta või argumentideta konstruktoriks. Kui programmeerija ei määratle Java-programmis ühtegi konstruktorit, lisab Java-kompilaator ise sinna konstruktori, mida nimetatakse vaikekonstruktoriks, mis pakub objektile vaikimisi väärtusi nagu 0, null jne. Vaikekonstruktor pole spetsiaalne konstruktori tüüp kuid kuulub argumentideta konstruktori kategooriasse.

Näide (vaikekonstruktor)

Kood

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();
)
)

Väljund:

Ülaltoodud näites ei ole see programmeerija määratletud konstruktor, nii et kompilaator käsitleb seda programmi järgmiselt:

Kood

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();
)
)

Näide (parameetriteta konstruktor)

Kood

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();
)
)

Väljund:

Nagu ülaltoodud näites, pole konstruktori DemoProgram () jaoks ühtegi argumenti edastatud, trükitakse ainult teade ja seetõttu nimetatakse seda argumendita argumendiks.

2. Parameetriline konstruktor

Parameetritega konstruktorid on need konstruktorid, milles me edastame argumendid või parameetrid. Selles konstruktoris antakse väärtused üle objekti loomise ajal.

Näide (parameetrilised konstruktorid)

Kood

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();
)
)

Väljund:

Ülaltoodud näites omistatakse jalgadele väärtus 4 ja nööriga “vibu vibu” antakse konstruktoris Animal helile. Nii et kui meetodi kuvamist kutsutakse, trükitakse mõlemad väärtused väljundisse.

Olulised punktid, mida tuleb meeles pidada

  • Igas klassis on konstruktor, kas programmeerija loob selle või mitte.
  • Ehitaja nimi peaks olema sama, mis klassi nimi.
  • Erinevalt meetoditest pole konstruktoril tagasivoolutüüpi.
  • see () ja super () märksõna peab olema esimene lause konstruktoris.
  • Sarnaselt meetoditele saab konstruktoreid üle koormata.
  • Ehitajaid ei saa mööda vaadata.
  • Üks konstruktor saab märksõnaga this () kutsuda teise sama klassi konstruktori.
  • Juurdepääsunäitajaid / modifikaatoreid saab rakendada konstruktori nime ees, et deklareerida selle ulatus klassis.
  • Java-keeles ei saa konstruktor kunagi olla staatiline, lõplik, abstraktne ja sünkroniseeritud.

Järeldus

Java programmeerimiskeelega töötamisel on konstruktoritel oluline roll. Peab olema arusaadav konstruktori, mitmesuguste konstruktoritüüpide, konstruktorite aheldamise täielikud kontseptsioonid, märksõna (super), mida kasutatakse vanema konstruktori kutsumiseks konkreetse stsenaariumi järgi tööle. Ehkki Java-s on konstruktoritega töötamine väga lihtne nagu meetoditega töötamine, on konstruktoritele spetsiifilisi aspekte, mida tuleks põhjalikult õppida.

Soovitatav artikkel

See on java konstruktori juhend. Siin arutatakse, kuidas konstruktor javas töötab, koos tüüpide ja näidetega, millel on asjakohane koodi rakendamine. võite ka meie soovitatud artiklitest lähemalt lugeda -

  1. Ehitaja JavaScriptis ja tüübid
  2. Sissejuhatus konstruktorisse Pythonis
  3. Konstruktor C ++ ja tüüpides
  4. Konstruktor PHP-s (näited)