Môže mať abstraktná trieda Java konštruktor?
Môže mať abstraktná trieda Java konštruktor?

Video: Môže mať abstraktná trieda Java konštruktor?

Video: Môže mať abstraktná trieda Java konštruktor?
Video: Публичное собеседование: Junior Java Developer. Пример, как происходит защита проекта после курсов. 2024, December
Anonim

Áno, abstraktná trieda môže mať a konštruktér v Java . vy môcť buď výslovne uveďte a konštruktér do abstraktná trieda alebo ak nie, kompilátor bude pridať predvolené konštruktér bez argumentov abstraktná trieda . Toto platí pre všetkých triedy a platí to aj pre an abstraktná trieda.

Môže byť teda konštruktor v Jave abstraktný?

vy môcť nemám abstraktný konštruktér , as abstraktné znamená, že musíte poskytnúť implementáciu v určitom okamihu vo vašej podtriede. Ale nemôžete to prepísať konštruktér . Tam bude nemá zmysel mať abstraktný konštruktér : Ty bude vždy zavolajte konštruktér triedy dieťaťa a nie základnej triedy.

Podobne, ako nazývate konštruktor abstraktnej triedy? Môžete definovať a konštruktér v an abstraktná trieda , ale nemôžete skonštruovať tento objekt. Avšak betónové pod- triedy môže (a musí) hovor Jeden z konštruktérov definované v abstraktné rodič trieda . nemôžeš hovor an abstraktný konštruktor triedy s trieda výraz tvorený inštanciou, t.j.

Podobne sa ľudia pýtajú, prečo má abstraktná trieda konštruktor?

A konštruktér v Jave v skutočnosti "nebuduje" objekt, používa sa na inicializáciu polí. Predstavte si, že váš abstraktná trieda má polia x a y a že vždy chcete, aby boli inicializované určitým spôsobom, bez ohľadu na to, aká skutočná konkrétna podtrieda sa nakoniec vytvorí.

Môže mať abstraktná trieda objekty v jazyku Java?

Pretože to je abstraktné a objekt je betón. Nie, dizajnéri neposkytli spôsob. Pretože an abstraktná trieda je neúplná trieda (neúplné v zmysle, ktorý obsahuje abstraktné metódy bez tela a výstupu) nevieme vytvoriť inštanciu resp objekt ; rovnakým spôsobom, ako hovoríte o rozhraní.

Odporúča: