Ok. Zobacz, klasa abstrakcyjna może mieć konstruktor. Jest zawsze tam - ukryte lub wyraźne. W rzeczywistości, gdy tworzysz obiekt podklasy klasy abstrakcyjnej, pierwszą rzeczą, którą robi konstruktor podklasy, jest wywołanie konstruktora jej abstrakcyjnej nadklasy przy użyciu super(). Jest to po prostu zrozumiałe, dlatego nie musisz jawnie pisać super()
, chyba że użyjesz sparametryzowanych konstruktorów. Każda klasa, nawet jeśli jest abstrakcyjna, ma niejawny konstruktor, którego nie można zobaczyć. Jest wywoływany, chyba że utworzysz własny konstruktor. tak długo tworzyłeś klasy abstrakcyjne bez tworzenia w nim żadnego niestandardowego konstruktora, więc nie wiesz o istnieniu niejawnego konstruktora.
dlaczego uważasz, że powinna ona "krzyczeć" w pierwszej kolejności? – aps
@aps czerwone linie poniżej krytycznego miejsca (przypisanie w konstruktorze lub sam konstruktor) – imacake