webForumDet fria alternativet

Ingen default konstruerare!?

3 svar · 406 visningar · startad av Reza

RezaMedlem sedan feb. 2001111 inlägg
#1

När jag ärver en klass utan default konstruerare kan jag i C++ anropa någon bas klass konstruerare med hjälp av initierings listan i den härledda klassens konstruerare.

SubClass() : BasClass(”test”) {};

Hur kan man göra detta i Java?
Alltså, anropa någon av super klassens konstruerare (från sub klassen) när en default konstruerare saknas?

juventus1Medlem sedan dec. 2000401 inlägg
#2

Om jag förstått dig rätt kan du göra så här:

public ClassName() {
super("Anropa konstruerare i superklassen!");
}
RezaMedlem sedan feb. 2001111 inlägg
#3

Du har förstått helt rätt!!
Tack för hjälpen.

Detta är för mig rätt konstigt, anropas inte först bas klassen konstruerare och SEDAN sub klassens när ett objekt av sub klassens typ skapas?
Om jag nu förstår detta rätt, innebär det att det inte finns något som heter initierings lista i Java!?

Sang-draxMedlem sedan juli 2002570 inlägg
#4

Rätt.

Initeringslistans motsvarighet är att man deklarerar variablerna så här i klassen:
int p = 23;
super-anropen måste även komma först.

Genererad på 501 ms · cache AV · v20260730165559-full.f96bc7eb