Kan de Java-abstracte klasse een constructor hebben?
Kan de Java-abstracte klasse een constructor hebben?

Video: Kan de Java-abstracte klasse een constructor hebben?

Video: Kan de Java-abstracte klasse een constructor hebben?
Video: Belajar Java [OOP] - 26 - Abstract Class 2024, Mei
Anonim

Ja, en abstracte klasse kan hebben een constructeur in Java . Jij kan ofwel expliciet een constructeur tot abstracte klasse of als je dat niet doet, de compiler zullen standaard toevoegen constructeur van geen argument in abstracte klasse . Dit geldt voor iedereen klassen en het geldt ook voor een abstracte klasse.

Kan een constructor daarom abstract zijn in Java?

Jij kan heb geen abstracte constructeur , als abstract betekent dat u op een bepaald moment in uw subklasse de implementatie daarvoor moet bieden. Maar je kunt niet overschrijven constructeur . Daar zullen het heeft geen zin om een abstracte constructeur : Jij zullen bel altijd de constructeur van de kinderklasse en niet van de basisklasse.

Evenzo, hoe noem je een abstracte klassenconstructor? U kunt een definiëren constructeur in een abstracte klasse , maar je kunt dat object niet construeren. Maar concrete onder- klassen kan (en moet) telefoongesprek een van de constructeurs gedefinieerd in de abstract ouder klas . Je kunt niet telefoongesprek een abstracte klassenconstructor met een klas instantie creatie expressie, d.w.z.

Evenzo vragen mensen: waarom heeft een abstracte klasse een constructor?

EEN constructeur in Java "bouwt" het object niet echt, het wordt gebruikt om velden te initialiseren. Stel je voor dat je abstracte klasse heeft velden x en y, en dat u altijd wilt dat ze op een bepaalde manier worden geïnitialiseerd, ongeacht welke daadwerkelijke concrete subklasse uiteindelijk wordt gemaakt.

Kan abstracte klasse objecten in Java hebben?

Omdat het is abstract en een object is concreet. Nee, ontwerpers hebben geen manier geboden. omdat een abstracte klasse is een onvolledige klas (onvolledig in de zin die het bevat) abstract methoden zonder hoofdtekst en uitvoer) kunnen we geen instantie maken of object ; op dezelfde manier als je zegt voor een interface.

Aanbevolen: