Czy klasa abstrakcyjna Java może mieć konstruktora?
Czy klasa abstrakcyjna Java może mieć konstruktora?

Wideo: Czy klasa abstrakcyjna Java może mieć konstruktora?

Wideo: Czy klasa abstrakcyjna Java może mieć konstruktora?
Wideo: Java - abstract class have constructor, private constructor - How to call the same 2024, Listopad
Anonim

Tak, i klasa abstrakcyjna może mieć a konstruktor w Jawa . Ty Móc albo wyraźnie podać konstruktor do klasa abstrakcyjna a jeśli nie, kompilator Wola dodaj domyślne konstruktor bez argumentów w klasa abstrakcyjna . Dotyczy to wszystkich zajęcia dotyczy to również klasa abstrakcyjna.

W konsekwencji, czy konstruktor może być abstrakcyjny w Javie?

Ty Móc nie mam abstrakcyjny konstruktor , jak abstrakcyjny oznacza, że musisz zapewnić implementację tego w pewnym momencie w swojej podklasie. Ale nie możesz przesłonić konstruktor . Tam Wola nie ma sensu mieć abstrakcyjny konstruktor : Ty Wola zawsze dzwoń konstruktor klasy potomnej, a nie klasy bazowej.

Podobnie, jak wywołać konstruktor klasy abstrakcyjnej? Możesz zdefiniować konstruktor w an klasa abstrakcyjna , ale nie możesz skonstruować tego obiektu. Jednak konkretne pod- zajęcia może (i musi) połączenie jeden z konstruktorzy zdefiniowane w abstrakcyjny rodzic klasa . Nie możesz połączenie jakiś konstruktor klasy abstrakcyjnej z klasa wyrażenie tworzenia instancji, tj.

Podobnie ludzie pytają, dlaczego klasa abstrakcyjna ma konstruktora?

A konstruktor w Javie tak naprawdę nie "buduje" obiektu, służy do inicjalizacji pól. Wyobraź sobie, że twój klasa abstrakcyjna ma pola x i y i że zawsze chcesz, aby były inicjowane w określony sposób, bez względu na to, jaka konkretna podklasa zostanie ostatecznie utworzona.

Czy klasa abstrakcyjna może mieć obiekty w Javie?

Ponieważ to jest abstrakcyjny i obiekt jest konkretny. Nie, projektanci nie podali sposobu. Ponieważ i klasa abstrakcyjna jest niekompletny klasa (niekompletny w sensie, w jakim zawiera) abstrakcyjny metody bez treści i danych wyjściowych) nie możemy utworzyć instancji lub obiekt ; tak samo, jak mówisz o interfejsie.

Zalecana: