Konstruktører i Java (Norsk)

I Java er en konstruktør en blokk med koder som ligner på metoden. Det kalles når en forekomst av klassen opprettes. På tidspunktet for anropskonstruktøren tildeles minne for objektet i minnet.

Det er en spesiell type metode som brukes til å initialisere objektet.

Hver gang et objekt opprettes ved hjelp av det nye () nøkkelordet, kalles det minst en konstruktør.

Det kaller en standardkonstruktør hvis det ikke er noen konstruktør tilgjengelig i klassen. I et slikt tilfelle gir Java-kompilator en standardkonstruktør som standard.

Det er to typer konstruktører i Java: no-arg-konstruktør og parametrerte konstruktør.

Merk: Det kalles konstruktør fordi den konstruerer verdiene på tidspunktet for objektopprettelsen. Det er ikke nødvendig å skrive en konstruktør for en klasse. Det er fordi Java-kompilator oppretter en standardkonstruktør hvis klassen din ikke har noen.

Regler for å lage Java-konstruktør

Det er to regler definert for konstruktøren.

  1. Navn på konstruktør må være det samme som klassens navn
  2. En konstruktør må ikke ha noen eksplisitt returtype
  3. En Java-konstruktør kan ikke være abstrakt, statisk, endelig og synkronisert

Merk: Vi kan bruke tilgangsmodifikatorer mens vi erklærer en konstruktør. Den styrer objektopprettelsen. Med andre ord kan vi ha private, beskyttede, offentlige eller standardkonstruktører i Java.

Typer Java-konstruktører

Det er to typer konstruktører i Java:

  1. Standardkonstruktør (ingen arg-konstruktør)
  2. Parameterisert konstruktør

Java standardkonstruktør

En konstruktør kalles «Standardkonstruktør» når den ikke har noen parameter.

Syntaks til standardkonstruktør:

Eksempel på standardkonstruktør

I dette eksemplet lager vi no- arg konstruktør i Bike-klassen. Det vil bli påkalt på tidspunktet for oppretting av objekt.

Test det nå

Output:

Bike is created

Regel: Hvis det ikke er noen konstruktør i en klasse, oppretter kompilator automatisk en standardkonstruktør.

Q) Hva er formålet med en standardkonstruktør?

Standardkonstruktøren brukes til å gi standardverdiene til objektet som 0, null osv., avhengig av typen.

Eksempel på standardkonstruktør som viser standardverdiene

Test det nå

Output:

0 null0 null

Forklaring: I ovennevnte klasse er du ikke lage en hvilken som helst konstruktør slik at kompilatoren gir deg en standardkonstruktør. Her er 0 og nullverdier gitt av standardkonstruktøren.

Java Parameterized Constructor

En konstruktør som har et spesifikt antall parametere kalles en parameterisert konstruktør.

Hvorfor bruke den parameteriserte konstruktøren?

Den parameteriserte konstruktøren brukes til å gi forskjellige verdier til forskjellige objekter. Du kan imidlertid også oppgi de samme verdiene.

Eksempel på parameteriserte konstruktører

I dette eksemplet har vi opprettet konstruktøren til studentklassen som har to parametere. Vi kan ha et hvilket som helst antall parametere i konstruktøren.

Test det nå

Output:

111 Karan222 Aryan

Constructor Overloading in Java

I Java er en konstruktør akkurat som en metode, men uten returtype. Det kan også overbelastes som Java-metoder.

Overbelastning av konstruktører i Java er en teknikk for å ha mer enn en konstruktør med forskjellige parameterlister. De er ordnet slik at hver konstruktør utfører en annen oppgave. De differensieres av kompilatoren etter antall parametere i listen og deres typer.

Eksempel på overbelastning av konstruktører

Test det nå

Output:

111 Karan 0222 Aryan 25

Forskjell mellom konstruktør og metode i Java

Det er mange forskjeller mellom konstruktører og metoder. De er gitt nedenfor.

Java Constructor Java Method
En konstruktør brukes til å initialisere tilstanden til et objekt. En metode brukes til å avsløre oppførselen til et objekt.
En konstruktør må ikke ha en returtype. En metode må ha en returtype.
Konstruktøren påkalles implisitt. Metoden påkalles eksplisitt.
Java-kompilatoren gir en standardkonstruktør hvis du ikke har noen konstruktører i en klasse. Metoden er ikke levert av kompilatoren i alle fall.
Konstruktørnavnet må være det samme som klassenavnet. Metodenavnet kan eller ikke kan være det samme som klassen navn.

Java Copy Constructor

Det er ingen kopikonstruktører i Java.Imidlertid kan vi kopiere verdiene fra ett objekt til et annet som kopikonstruktør i C ++.

Det er mange måter å kopiere verdiene til et objekt til et annet i Java. De er:

  • Av konstruktør
  • Ved å tilordne verdiene til ett objekt til et annet
  • Ved clone () -metode i Objektklasse

I dette eksemplet skal vi kopiere verdiene til ett objekt til et annet ved hjelp av Java-konstruktør.

Test det nå

Output:

111 Karan111 Karan

Kopiering av verdier uten konstruktør

Vi kan kopiere verdiene til ett objekt til et annet ved å tilordne objektverdiene til en annen gjenstand. I dette tilfellet er det ikke nødvendig å opprette konstruktøren.

Test det nå

Output:

111 Karan111 Karan

Q) Returnerer konstruktør noen verdi?

Ja, det er den gjeldende klasseforekomsten (Du kan ikke bruke returtype ennå, den returnerer en verdi).

Kan konstruktør utføre andre oppgaver i stedet for initialisering?

Ja, som å opprette objekter, starte en tråd, ringe til en metode osv. Du kan utføre en hvilken som helst operasjon i konstruktøren mens du utfører i metoden.

Er det konstruktorklasse i Java?

Ja.

Hva er formålet med konstruktorklasse?

Java gir en konstruktorklasse som kan brukes til å få den interne informasjonen til en konstruktør i klassen. Den finnes i pakken java.lang.reflect.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *