Java-rakentajat

Java-ohjelmassa konstruktori on menetelmän kaltainen koodilohko. Sitä kutsutaan, kun luokan ilmentymä luodaan. Kun kutsutaan konstruktoria, objektin muisti varataan muistiin.

Se on erityinen menetelmä, jota käytetään objektin alustamiseen.

Joka kerta kun objekti luodaan uudella () avainsanalla, kutsutaan ainakin yksi konstruktori.

Se kutsuu oletuskonstruktoria, jos luokassa ei ole käytettävissä konstruktoria. Tällöin Java-kääntäjä tarjoaa oletusarvoisesti oletusrakentajan.

Javassa on kahden tyyppisiä konstruktoreita: ei-arg-konstruktori ja parametrisoitu konstruktori.

Huomaa: Sitä kutsutaan konstruktori, koska se rakentaa arvot objektin luontihetkellä. Luokalle ei tarvitse kirjoittaa konstruktoria. Tämä johtuu siitä, että java-kääntäjä luo oletusrakentajan, jos luokallasi ei ole mitään.

Java-rakentajan luomissäännöt

Rakentajalle on määritelty kaksi sääntöä.

  1. Rakentajan nimen on oltava sama kuin sen luokan nimi
  2. Rakentajalla ei saa olla nimenomaista palautustyyppiä
  3. Java-konstruktori ei voi olla abstrakti, staattinen, lopullinen ja synkronoitu

Huomaa: Voimme käyttää pääsynmuokkaajia julistaessamme rakentajaa. Se ohjaa objektin luomista. Toisin sanoen meillä voi olla Java: ssa yksityinen, suojattu, julkinen tai oletusrakentaja.

Java-konstruktorityypit

Javalassa on kahden tyyppisiä konstruktoreita:

  1. Oletuskonstruktori (ei-arg-konstruktori)
  2. Parametroitu konstruktori

Java-oletusrakentaja

Rakentajaa kutsutaan oletusrakentajaksi, kun sillä ei ole mitään parametri.

Oletuskonstruktorin syntaksi:

Esimerkki oletuskonstruktorista

Tässä esimerkissä luomme no- arg-konstruktori Bike-luokassa. Sitä käytetään objektin luomisen yhteydessä.

Testaa se nyt

Tulos:

Bike is created

Sääntö: Jos luokassa ei ole konstruktoria, kääntäjä luo automaattisesti oletusrakentajan.

Q) Mikä on oletusrakentajan tarkoitus?

Oletusrakentajaa käytetään oletusarvojen, kuten 0, null jne., toimittamiseen objektille tyypistä riippuen.

Esimerkki oletusarvonrakentajasta, joka näyttää oletusarvot

Testaa se nyt

Tulos:

0 null0 null

Selitys: Yllä olevassa luokassa et ole minkä tahansa konstruktorin luominen niin kääntäjä tarjoaa oletuskonstruktorin. Tällöin oletusrakentaja antaa 0 ja nolla-arvot.

Java-parametrisoitu konstruktori

Konstruktoria, jolla on tietty määrä parametreja, kutsutaan parametrisoiduksi konstruktoriksi.

Miksi käyttää parametrisoitua konstruktoria?

Parametroitua konstruktoria käytetään erilaisten arvojen toimittamiseen erillisille kohteille. Voit kuitenkin antaa myös samat arvot.

Esimerkki parametrisoidusta konstruktorista

Tässä esimerkissä olemme luoneet Student-luokan konstruktorin, jolla on kaksi parametria. Konstruktorissa voi olla mikä tahansa määrä parametreja.

/ h2>

Java-ohjelmassa konstruktori on aivan kuin menetelmä, mutta ilman palautustyyppiä. Se voidaan myös ylikuormittaa kuten Java-menetelmät.

Rakentajan ylikuormitus Java-tekniikassa on tekniikka, jolla on useampi kuin yksi konstruktori, jolla on erilaiset parametriluettelot. Ne on järjestetty siten, että kukin rakentaja suorittaa eri tehtävän. Kääntäjä erottaa ne luettelon parametrien lukumäärän ja tyypin mukaan.

Esimerkki rakentajan ylikuormituksesta

Testaa se nyt

Tulos:

111 Karan 0222 Aryan 25

Java-rakentajan ja -menetelmän ero

Rakentajien ja menetelmien välillä on monia eroja. Ne on esitetty alla.

Java Constructor Java-menetelmä
Objektin tila voidaan alustaa konstruktorilla. Menetelmää käytetään objektin käyttäytymisen paljastamiseen.
Konstruktorin on ei ole palautustyyppiä. Menetelmällä on oltava palautustyyppi.
Rakentaja kutsutaan implisiittisesti. Menetelmä kutsutaan nimenomaisesti.
Java-kääntäjä tarjoaa oletuskonstruktorin, jos sinulla ei ole luokassa mitään konstruktoria. Menetelmää ei tarjoa kääntäjä joka tapauksessa.
Rakentajan nimen on oltava sama kuin luokan nimi. Menetelmän nimi voi olla sama kuin luokka nimi.

Java Copy Constructor

Javassa ei ole kopiorakentajaa.Voimme kuitenkin kopioida arvot yhdestä objektista toiseen, kuten kopiointirakentaja C ++: ssa.

On monia tapoja kopioida objektien arvot toiseen Java-ohjelmassa. Ne ovat:

  • Rakentaja
  • Määrittämällä yhden objektin arvot toiselle
  • Objektiluokan kloonausmenetelmällä

Tässä esimerkissä aiomme kopioida yhden objektin arvot toiseen Java-konstruktorin avulla.

Testaa se nyt

Output:

111 Karan111 Karan

Arvojen kopiointi ilman konstruktoria

Voimme kopioida yhden objektin arvot toiseen jakamalla objektiarvot toiselle esine. Tässä tapauksessa konstruktoria ei tarvitse luoda.

Testaa se nyt

Tulos:

111 Karan111 Karan

Q) Palauttaako konstruktori mitään arvoa?

Kyllä, se on nykyinen luokan ilmentymä (Palautustyyppiä ei voi käyttää, mutta se palauttaa arvon).

Voiko konstruktori suorittaa muita tehtäviä alustamisen sijasta?

Kyllä, kuten objektin luonti, langan aloittaminen, menetelmän kutsuminen jne. Voit suorittaa minkä tahansa operaattorin konstruktorissa samalla tavalla kuin suoritat metodissa.

Onko Javassa Constructor-luokkaa?

Kyllä.

Mikä on Constructor-luokan tarkoitus?

Java tarjoaa Constructor-luokan, joka voi käytetään luokan rakentajan sisäisten tietojen saamiseen. Se löytyy paketista java.lang.reflect.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *