MÔŽE rozhranie mať neabstraktné metódy?
MÔŽE rozhranie mať neabstraktné metódy?

Video: MÔŽE rozhranie mať neabstraktné metódy?

Video: MÔŽE rozhranie mať neabstraktné metódy?
Video: Полный курс по Next js - Изучи Nextjs за 2 часа! | React SSR +таймкоды 2024, November
Anonim

Metódy rozhrania sú podľa definície verejné a abstraktné , takže nemôžete nemajú - abstraktné metódy v tvojom rozhranie . v Jave metódy rozhrania sú verejné a abstraktné predvolene. Takže prvou možnosťou je zlý postup. Ide o to, že vy môcť nepoužívať nie - abstraktné metódy vo vnútri rozhranie , pretože oni sú abstraktné predvolene.

Okrem toho, môže mať rozhranie abstraktné metódy?

An rozhranie je ako "čisto" abstraktné trieda. Trieda a všetko jej metódy sú abstraktné . An abstraktné trieda môže mať implementovaná metódy ale triedu samotnú nemožno vytvoriť inštanciu (užitočné pri dedení a po DRY). Ak implementujete Rozhranie potom musíte implementovať metódy v rozhranie.

Môže mať abstraktná trieda aj neabstraktné metódy? Áno my môže mať an abstraktná trieda bez Abstraktné metódy pretože oba sú nezávislé pojmy. Vyhlásenie a triedny abstrakt znamená, že to môcť nesmie byť inštanciovaný sám o sebe a môcť byť len podtriedou. Vyhlásenie a abstraktná metóda znamená to Metóda bude byť definované v podtriede.

Okrem toho, môžeme definovať metódy v rozhraní?

Ako trieda, an rozhranie môže mať metódy a premenné, ale metódy deklarované v an rozhranie sú štandardne abstraktné (iba metóda podpis, bez tela). Rozhrania špecifikovať, čo trieda musí robiť a nie ako. Ak to trieda implementuje rozhranie , potom to môcť použiť na triedenie zbierky.

Musia byť implementované všetky metódy v rozhraní?

Áno, je to povinné implementovať všetky a metódy v triede, ktorá implementuje an rozhranie pokiaľ a kým táto trieda nie je abstraktnou triedou. vy mať dve možnosti: - realizovať každý metóda vyžaduje rozhranie alebo - vyhlásiť za nezvestného metódy abstrakt vo vašej triede.

Odporúča: