? Java er et objektorientert programmeringsspråk som brukes til å lage programmer i ett miljø som kan kjøre i et annet miljø uten å måtte kompileres på nytt . Fordi det er objektorientert Java bruker en bestemt type funksjon ( aka _method_ ) 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 : en
public class make_people {public static void main ( String [ ] args ) {
Worker obWorker = new Worker ( " Gus "); Rørlegger obPlumber = ny rørlegger ( " Shirley "); Rørlegger obPlumber2 = ny Rørlegger ( 5 ) ; Rørlegger obPlumber3 = ny Plumber ();
}
} //slutt på make_people
Constructor navn
To forskjellige typer virtuelle mennesker er skapt i dette eksemplet . Den ene er en Worker , den andre , en rørlegger . Den første Worker skal opprettes, " Gus ", er skapt med sin konstruktør Worker ( [ arbeidstakerens navn ] ) . Legg merke til at konstruktøren har samme navn (og staves med samme sak ) som navnet på klassen , Worker . Dette er alltid tilfelle med konstruktør funksjoner: De har alltid navnet på den klassen de konstruere et objekt for
Notice også det nye nøkkelordet . . 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 ikke bruke den nye nøkkelordet , så ingen objekt opprettes
Overbelastning Constructors
< . br>
Constructors 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 : en
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 String som argument , en tar en int ( Eger ) . Man tar ingen argumenter .
Definisjon av en Constructor
Hva som faktisk foregår inni en entreprenør er at det opprettes medlem variabler . Her er Worker klassen initialiserer "navn" variabel i sine konstruktører : en
public class Worker {private String navn ; offentlig Worker ( ) { navn = " "; System.out.println ( " jeg er en ikke navngitt Worker "); } public Worker ( String argName ) {navn = argName ; System.out.format ( " . Mitt navn er% s \\ n " , navn) ;} } ;//end class Worker
Tilgang Specifiers
merke til _access specifier_ her : det er "offentlig " søkeord som kommer før Worker , i konstruktøren definisjoner . "Offentlig " tilgang specifier sier at koden utenfor Worker klassen kan ringe arbeideren konstruktører . Men hvis en av konstruktørene har den "offentlige " endret til "privat ", kode utenfor Worker klassen ikke kan kalle det konstruktøren .