Wpis z mikrobloga

Mirk, wyjaśni ktoś w punktach konkretnie jakie są różnice pomiędzy interfejsem, a klasą abstrakcyjną? Na tę chwilę wiem jedynie tyle, że nie można tworzyć obiektów klasy abstrakcyjnej, ani interfejsu. Interfejs się implementuje, a nie dziedziczy. Klasa abstrakcyjna posiada metody bez ciała (?). Prosiłbym o konkrety, a nie o udowadnianie mi braku kompetencji :D

#naukaprogramowania #java
  • 27
@von_Schuttenbach: Interfejs ma tylko metody abstrakcyjne, bez ciał. Od którejś wersji języka może posiadać też pola statyczne stałe, tj. static final. Implementujesz go, za pomocą słowa kluczowego "implements".
Klasa abstrakcyjna to właściwie to samo co zwykła klasa, tyle że może zawierać metody abstrakcyjne. Dziedziczysz ją, za pomocą słowa kluczowego "extends".
Nie możesz tworzyć obiektów interfejsów i klas abstrakcyjnych bezpośrednio, tylko poprzez implementację/dziedziczenie. Z zaznaczeniem, że wszystkie metody abstrakcyjne zostaną zaimementowane.

Nie
Nie musisz wiedzieć nic ponad to na początkowym etapie nauki


@fegwegw:
1. Czytanie ze zrozumieniem się kłania. Ale #!$%@? tam, lepiej puścić szyderę. Rozbrajasz mnie gościu swoimi komentarzami pod tym tagiem ʘʘ
2. Od 1.0, ok. Najwyraźniej pomyliłem to z inną własnością języka lub zupełnie innym językiem. Nie zmienia to faktu, że można ich używać.
1. Czytanie ze zrozumieniem się kłania. Ale #!$%@? tam, lepiej puścić szyderę. Rozbrajasz mnie gościu swoimi komentarzami pod tym tagiem ʘʘ


@greebqmaster: Bo nie mogę patrzeć, jakie kretynizmy się tutaj pojawiają. To, że ktoś czegoś nie musi wiedzieć (chociaż to jest subiektywna opinia), nie znaczy, że trzeba mu pisać pierdoły.

Czym się różni Stack od #naukaprogramowania? Tam za taką odpowiedź dostajesz na starcie 100 minusów, odpowiedź jest usuwana,
@fegwegw: Chyba ktoś zapomniał, że na Stacku to przede wszystkim takie pytanie dostałoby na wstępie 100 minusów. Typowi nie podoba się żadne z trzydziestu tłumaczeń w google to piszę najprościej jak się da, może zatrybi.