Video: 7.4: Adding and Removing Objects - p5.js Tutorial 2024
A constructor in Java is een codeblok dat lijkt op een methode die wordt aangeroepen wanneer een exemplaar van een object is gemaakt. Dit zijn de belangrijkste verschillen tussen een constructor en een methode:
-
Een constructor heeft geen retourneringstype.
-
De naam van de constructor moet gelijk zijn aan de naam van de klasse.
-
Anders dan methoden, worden constructeurs niet beschouwd als leden van een klasse.
-
Een constructor wordt automatisch aangeroepen wanneer een nieuw exemplaar van een object wordt gemaakt.
Dit is het standaardformaat voor het coderen van een constructor:
public ClassName (parameter-list) [gooit uitzondering …] {statements …}
Het openbare sleutelwoord geeft aan dat andere klassen toegang hebben tot de constructor. ClassName moet hetzelfde zijn als de naam van de klasse die de constructor bevat. U codeert de parameterlijst op dezelfde manier als u deze codeert voor een methode.
Merk ook op dat een constructor uitzonderingen kan gooien als het situaties tegenkomt waarvan het niet kan herstellen.
Met een constructor kunt u beginwaarden voor klassenvelden opgeven wanneer u het object maakt. Stel dat u een klasse hebt met de naam Actor met de velden firstName en lastName. U kunt een constructor maken voor de klasse Actor:
public Actor (String first, String last) {firstName = first; lastName = last;}
Vervolgens maak je een instantie van de Actor-klasse door deze constructor te bellen:
Acteur a = nieuwe acteur ("Arnold", "Schwarzenegger");
Er is een nieuw acteursobject voor Arnold Schwarzenegger gemaakt.
Net als bij methoden kunnen constructeurs worden overbelast. Met andere woorden, u kunt meer dan één constructor voor een klasse opgeven als elke constructor een unieke handtekening heeft. Hier is een andere constructor voor de klasse Actor:
public Actor (eerst string, laatste string, booleaanse waarde) {firstName = first; lastName = last; goodActor = good;}
Met deze constructor kunt u een Actor-object maken met informatie naast de naam van de acteur:
Actor a = new Actor ("Arnold", "Schwarzenegger", false);
Als u geen constructor voor een klasse opgeeft, maakt Java automatisch een standaardconstructor zonder parameters en initialiseert hij geen velden. Deze standaardconstructor wordt aangeroepen als u het nieuwe sleutelwoord opgeeft zonder parameters door te geven. Bijvoorbeeld:
Bal b = nieuwe bal ();
Hier wordt een variabele van het type Ball gemaakt door de standaardconstructor voor de klasse Ball te gebruiken.
Als u expliciet constructors voor een klasse declareert, maakt Java niet een standaardconstructor voor de klasse.Als gevolg hiervan, als u een constructor declareert die parameters accepteert en nog steeds een lege constructor (zonder parameters en geen body) wil hebben, moet u expliciet een lege constructor voor de klasse declareren.