Junior — Middle
Is het mogelijk om een constructor binnen een abstracte klasse te definiëren?
sobes.tech AI
Antwoord van AI
Ja, in Java is het mogelijk om een constructor binnen een abstracte klasse te definiëren. Hoewel een abstracte klasse niet direct kan worden geïnstalleerd, wordt haar constructor aangeroepen bij het maken van objecten van de subklassen.
Dit is handig voor het initialiseren van gemeenschappelijke velden of het uitvoeren van algemene logica bij het maken van afgeleide objecten.
Voorbeeld:
public abstract class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
public abstract void makeSound();
}
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
@Override
public void makeSound() {
System.out.println(name + " zegt: Woef!");
}
}
Hier wordt de constructor van de abstracte klasse Animal aangeroepen vanuit de constructor van de subklasse Dog.