– Cześć, Amigo! Bilaabo zdradzi Ci, jakie są różnice między klasą abstrakcyjną a interfejsem. Trochę ich jest.

Klasa abstrakcyjna Interfejs
Dziedziczenie
Klasa abstrakcyjna może dziedziczyć tylko jedną klasę, ale może za to dziedziczyć dowolną liczbę interfejsów. Interfejs nie może dziedziczyć klas, może za to dziedziczyć dowolną liczbę interfejsów.
Metody abstrakcyjne
Klasa abstrakcyjna może zawierać metody abstrakcyjne. Ale może także nie zawierać żadnych. Wszystkie niestatyczne i niedomyślne metody interfejsu są abstrakcyjne, tj. nie mają żadnych konkretnych implementacji. Interfejs może nie posiadać żadnych metod.
Metody z implementacją
Klasa abstrakcyjna może zawierać metody z implementacją. Interfejs może zawierać metody domyślne.
Dane
Bez ograniczeń. Interfejs zawiera tylko publiczne, finalne dane statyczne.
Tworzenie obiektu
Nie możesz tworzyć instancji klasy abstrakcyjnej. Nie możesz tworzyć instancji interfejsu.

– To jest dokładnie to, co lubię. Krótko i na temat.

– Dzięki, Amigo.