Video: Getters & Setters | Java | Tutorial 31 2025
A konstruktor i Java er en blok kode svarende til en metode, der kaldes, når en forekomst af en objekt er oprettet. Her er nøgleforskellene mellem en konstruktør og en metode:
-
En konstruktør har ikke returtype.
-
Konstruktørens navn skal være det samme som navnet på klassen.
-
I modsætning til metoder betragtes bygherrer ikke som medlemmer af en klasse.
-
En konstruktør kaldes automatisk, når der oprettes en ny forekomst af en genstand.
Her er det grundlæggende format til kodning af en konstruktør:
offentlig klassenavn (parameterliste) [kaster undtagelse …] {udsagn …}
Det offentlige søgeord indikerer, at andre klasser kan få adgang til konstruktøren. ClassName skal være det samme som navnet på den klasse, der indeholder konstruktøren. Du koder parameterlisten på samme måde som du kodes den for en metode.
Bemærk også, at en konstruktør kan kaste undtagelser, hvis den møder situationer, som den ikke kan genoprette fra.
En konstruktør giver dig mulighed for at angive indledende værdier for klassefelter, når du opretter objektet. Antag at du har en klasse med navnet Skuespiller, der har felter ved navn firstName og lastName. Du kan oprette en konstruktør til skuespillerklassen:
Offentlig Skuespiller (String først, String sidste) {firstName = first; lastName = last;}
Så opretter du en forekomst af skuespillerklassen ved at ringe til denne konstruktør:
Skuespiller a = ny skuespiller ("Arnold", "Schwarzenegger");
Der oprettes et nyt aktørobjekt for Arnold Schwarzenegger.
Ligesom metoder kan konstruktorer overbelastes. Med andre ord kan du give mere end en konstruktør til en klasse, hvis hver konstruktør har en unik signatur. Her er en anden konstruktør for skuespillerklassen:
Offentlig Skuespiller (String først, String sidst, Boolean godt) {firstName = first; lastName = last; goodActor = good;}
Denne konstruktør lader dig oprette et skuespillerobjekt med information udover skuespillerens navn:
Skuespiller a = ny skuespiller ("Arnold", "Schwarzenegger", falsk);
Hvis du ikke leverer en konstruktør til en klasse, opretter Java automatisk en standardkonstruktor , der ikke har nogen parametre og initialiserer ikke nogen felter. Denne standardkonstruktor kaldes, hvis du angiver det nye søgeord uden at overføre parametre. For eksempel:
Kugle b = Ny Kugle ();
Her oprettes en variabel af typen Ball ved at bruge standardkonstruktoren til Ball-klassen.
Hvis du udtrykkeligt erklærer konstruktører for en klasse, opretter Java ikke en standardkonstruktor til klassen.Som følge heraf skal du, hvis du erklærer en konstruktør, der accepterer parametre og stadig vil have en tom konstruktør (uden parametre og ingen krop), udtrykkeligt erklære en tom konstruktør for klassen.