? Java är ett objektorienterat programmeringsspråk som används för att skapa applikationer i en miljö som kan köras i en annan miljö utan att behöva kompileras om . Eftersom det är objektorienterat , använder Java en viss typ av funktion ( aka _method_ ) som kallas en " konstruktör ". Konstruktormetoden skapar ett virtuellt föremål från sin plan , som kallas en " klass . " Addera Exempel Constructors
exempel funktion skapar ett objekt genom att anropa dess konstruktor :
public class make_people { public static void main ( String [ ] args ) {
Arbetare obWorker = new Worker ( " Gus "); Plumber obPlumber = ny Plumber ( " Shirley "); Plumber obPlumber2 = new Plumber ( 5 ); Plumber obPlumber3 = ny Plumber ();
}
} //slut make_people
Constructor Names
Två olika typer av virtuella människor skapas i detta exempel . Man är en arbetare , den andra , en rörmokare . Den första arbetaren som ska skapas , " Gus ", är skapad med dess konstruktör Worker ( [ arbetstagarens namn ] ) . Lägg märke till att konstruktören har samma namn ( och stavas med samma fall ) som namnet på klassen , Worker . Detta är alltid fallet med konstruktorfunktioner : De har alltid namnet på den klass de håller på att bygga ett objekt till salu,
Observera också det nya nyckelordet . . Detta behövs för att skapa det nya objektet . Om detta program var att deklarera ett objekt variabel med ett uttalande som " Worker someWorker , " och uttalandet inte använda det nya nyckelordet , då inget objekt skapas
Överbelastning Constructors
< . br>
konstruktorer typiskt är överbelastade , vilket innebär att det kan finnas flera konstruktörer för en klass. Dock måste varje konstruktor vara annorlunda än den andra , i termer av antal argument de tar , eller vilka typer av argument . Med andra ord ger detta ett kompileringsfel , om det framgick i en klassfil :
Worker ( int a , int b , int c ); Arbetare (int d , int e , int f ),
urval program i den här artikeln visar flera exempel på överbelastade funktioner som anropas. Tre olika Rörmokare skapas , alla med olika konstruktör. En konstruktor tar en sträng som argument , man tar en int ( Eger ) . Man tar inga argument .
Definition av en Constructor
Vad som faktiskt händer inuti en entreprenör är initieringen av medlemsvariabler . Här är Worker klassen initiera variabeln "name" i sina konstruktörer :
public class Worker { private String namn ; offentliga Worker ( ) { namn = " " , System.out.println ( " jag är en namnlös Worker " ) ; } public Worker ( String argName ) { namn = argName , System.out.format ( " . Mitt namn är % s \\ n " , namn ) ; } } ;//end class Worker
åtkomstspecifikationer
märke till _access specifier_ här : Det är den " offentliga " sökord som kommer före Worker , i konstruktorn definitionerna . Den " offentliga " tillgång specificerare säger att koden utanför Worker klassen kan ringa arbetstagaren konstruktörer . Men om en av konstruktörerna har " allmänheten " ändras till " privat " kod utanför Worker klassen inte kan kalla det konstruktören .