Hva er en Constructor metode i Java?

Hva er en Constructor metode i Java?


Java er et objektorientert programmeringsspråk som brukes til å lage programmer i ett miljø som kan kjøres i et annet miljø uten å måtte rekompileres. Fordi det er objektorientert, bruker Java en bestemt type funksjon (aka metode) som kalles en \ "konstruktør. \" Konstruktøren metoden skaper en virtuell objekt fra sin blåkopi, som kalles en \ "klasse. \"

eksempel Constructors

Dette eksemplet funksjonen oppretter et objekt ved å ringe sin konstruktør:

public class make_people {
public static void main (String [] args) {

Worker obWorker = ny Worker (\ "Gus \")

Rørlegger obPlumber = ny rørlegger (\ "Shirley \")

Rørlegger obPlumber2 = ny rørlegger (5)

Rørlegger obPlumber3 = ny rørlegger ()

}

} // Slutt make_people

konstruktør Names

To forskjellige typer virtuelle mennesker er skapt i dette eksempelet. Den ene er en Worker; den andre, en rørlegger. Den første Worker som skal opprettes, \ "Gus, \" er laget med sin konstruktør Worker ([arbeidstakerens navn]). Legg merke til at konstruktøren har samme navn (og er stavet med samme sak) som navnet på klassen, Worker. Dette er alltid tilfellet med konstruktør funksjoner: De har alltid navnet på klassen de konstruere en gjenstand for.

Legg merke til også den nye søkeordet. Dette er nødvendig for å skape det nye objektet. Hvis dette programmet var å erklære et objekt variabel med en uttalelse som \ "Worker someWorker; \" og uttalelsen fikk ikke bruke den nye nøkkelordet, så ingen objekt opprettes.

overbelastning Constructors

Konstruktører er vanligvis overbelastet, noe som betyr at det kan være flere konstruktører for en klasse. Imidlertid må hver konstruktør være forskjellig fra de andre, i form av antall argumenter de tar, eller hvilke typer argumenter. Med andre ord, vil dette gi en kompileringsfeil, hvis det dukket opp i en klasse fil:

Worker (int a, int b, int c)

Worker (int d, int e, int f)

Prøven programmet i denne artikkelen viser flere eksempler på overbelastede funksjoner blir kalt. Tre forskjellige Rørleggere er opprettet, hver med en annen konstruktør. En konstruktør tar en streng som argument; man tar en int (Eger). Man tar ingen argumenter.

Definisjonen av en Constructor

Hva som faktisk foregår inni en entreprenør er initialisering av medlem variabler. Her er Worker klassen initialisering \ "navn \" variable i sine konstruktører:

public class Worker {
private String navn

offentlig Worker () {
name = \ "<uten navn arbeidstaker> \"

System.out.println (\ "jeg er en ikke navngitt Worker. \")

}
offentlig Worker (String argName) {
Name = argName

System.out.format (\ "Mitt navn er% s \ n \", navn)

}
}; // End klassen Worker

Tilgangsbransjen

Legg merke til tilgang Specifier her: Det er \ "offentlig \" søkeord som kommer før Worker, i konstruktøren definisjoner. Den \ "offentlig \" tilgang specifier sier at koden utenfor Worker klassen kan ringe arbeideren konstruktører. Men hvis en av konstruktører har \ "offentlig \" endret til \ "private, \" code utenfor Worker klassen kan ikke kalle det konstruktør.