V jazyku Java: Aký je rozdiel medzi konečnou triedou a (abstraktnou triedou bez abstraktných metód)?


Odpoveď 1:

TLDR;

Konečná trieda je, ako sa hovorí, konečná. To znamená, že sa nedá rozšíriť, žiadna podtrieda a jeho správanie je konečné, nemodifikovateľné.

Na druhej strane abstraktná trieda musí byť zdedená. Definuje spoločné alebo všeobecné správanie jej tried detí. Je to podtrieda, ktorá potom definuje „mierne“ odlišné správanie. Abstraktná trieda bez abstraktnej metódy však nedáva zmysel, pretože to znamená, že už definuje úplné správanie. Abstrakt kľúčového slova môžete z deklarácie triedy dokonca odstrániť, ak žiadna metóda nie je deklarovaná ako abstraktná.


Odpoveď 2:

Abstraktné triedy a abstraktné metódy sú nezávislé pojmy. Aj keď abstraktná trieda nemá žiadne abstraktné metódy, stále platia pravidlá vzťahujúce sa na abstraktnú triedu.

Abstraktnú triedu stále nemôžeme vytvoriť. Trieda musí zdediť abstraktnú triedu, aby využila ktorúkoľvek časť svojho tela a implementáciu. Final Class na druhej strane má byť inštančný a nemôže byť ďalej rozširovaný.


Odpoveď 3:

Abstraktné triedy a abstraktné metódy sú nezávislé pojmy. Aj keď abstraktná trieda nemá žiadne abstraktné metódy, stále platia pravidlá vzťahujúce sa na abstraktnú triedu.

Abstraktnú triedu stále nemôžeme vytvoriť. Trieda musí zdediť abstraktnú triedu, aby využila ktorúkoľvek časť svojho tela a implementáciu. Final Class na druhej strane má byť inštančný a nemôže byť ďalej rozširovaný.


Odpoveď 4:

Abstraktné triedy a abstraktné metódy sú nezávislé pojmy. Aj keď abstraktná trieda nemá žiadne abstraktné metódy, stále platia pravidlá vzťahujúce sa na abstraktnú triedu.

Abstraktnú triedu stále nemôžeme vytvoriť. Trieda musí zdediť abstraktnú triedu, aby využila ktorúkoľvek časť svojho tela a implementáciu. Final Class na druhej strane má byť inštančný a nemôže byť ďalej rozširovaný.