? Java er et objekt -orienteret programmeringssprog, der anvendes til at skabe applikationer i ét miljø, der kan køre i et andet miljø , uden at behøve at blive genoversat . Fordi det er objektorienteret , Java bruger en bestemt form for funktion (aka _method_ ), der kaldes en " konstruktør ". Konstruktøren Metoden skaber en virtuel genstand fra dens blueprint, som kaldes en "class ".
Eksempel Constructors
Dette eksempel Funktionen opretter et objekt ved at kalde dens constructor : Hej
public class make_people {public static void main ( String [ ] args ) {
Worker obWorker = new Worker ( " Gus ") Plumber obPlumber = new Plumber ( " Shirley ") Plumber obPlumber2 = new Plumber ( 5) Plumber obPlumber3 = new Plumber ();
}
} //slut af make_people
Constructor navne
to forskellige slags virtuelle mennesker er skabt i dette eksempel . Den ene er en Worker , den anden , en blikkenslager . Den første Worker , der skal oprettes , " Gus ", er skabt med sin konstruktør Worker ( [ arbejdstagerens navn ]). Bemærk, at konstruktøren har det samme navn (og staves med samme sag ), som navnet på klassen, Worker . Dette er altid tilfældet med constructor -funktioner : De har altid navnet på den klasse, de er ved at opbygge et objekt til
Notice også den nye søgeord. . Dette er nødvendigt for at skabe det nye objekt . Hvis dette program skulle erklære et objekt variabel med en erklæring som " Worker someWorker ," og erklæringen ikke bruge det nye søgeord , så ingen objekt oprettes
Overbelastning Constructors
< . br >
Constructors typisk overbelastet , hvilket betyder, at der kan være flere konstruktører for en klasse. Dog skal hvert konstruktør være forskellig fra den anden i form af antallet af argumenter, de tager , eller de typer af argumenter. Med andre ord , vil dette give en kompileringsfejl , hvis det fremgik i en klasse fil :
Worker ( int a , int b , int c) Worker ( int d , int e , int f) < br >
prøve programmet i denne artikel viser flere eksempler på overbelastede funktioner bliver kaldt . Tre forskellige Blikkenslagere er oprettet, hver med en anden konstruktør. Én konstruktør tager en streng som argument , man tager en int ( Eger ) . Man tager ingen argumenter .
Definition af en Constructor
Hvad der rent faktisk går på inde i en entreprenør er initialiseringen af medlem variabler . Her er den Worker klassen initialisering af variablen "name" i sine konstruktører : Hej
public class Worker { private String navn, offentligt Worker ( ) { name = " " System.out.println ( " jeg en unavngiven Worker "); } public Worker ( String argName ) { name = argName , System.out.format ( " . Mit navn er % s \\ n " , navn) ;}} ;//slut -klasse Worker < br >
tilgangsangivelse
Bemærk _access specifier_ her: det er den "offentlige" søgeord, der kommer før Worker , i konstruktøren definitioner. Den "offentlige" Tilgangsangivelse siger, at koden udenfor Worker klasse kan kalde Worker konstruktører . Men hvis en af konstruktørernes har " offentligheden" ændret til " private " kode uden for Worker klasse kan ikke kalde konstruktør.