Cześć.
Zastanawiam się czemu w Springu MVC piszemy puste konstruktory w stylu
public Klasa() { }
lub stosujemy tam super(); <- to woła nam konstruktor parenta - czyli jaki tak naprawdę?
lub też this(); <- co z kolei woła konstruktor danej klasy (ale który? co jeśli mam kilka? chodzi o ten defaultowy?)
Kiedyś szukałem odpowiedzi na ten temat i nie wiem nic więcej poza tym, że framework tego wymaga przy skanowaniu komponentów.
Co jeśli mam coś takiego:
public Customer(){
super(); //jaki konstruktor jest wołany?
this.address = new Address();
}
public Customer(String id, String name){
this(); // czy ten this() woła ten konstruktor powyżej?
this.address = new Address();
}
Spotykam się z tym w książkach i w kursach, ale nikt tego nie tłumaczy, chciałbym to sobie utrwalić i pojąć, bo wiadomo że nie będę zawsze przeklepywał tutków.
Z góry dziękuję!