Video: Může mít abstraktní třída Java konstruktor?
2024 Autor: Lynn Donovan | [email protected]. Naposledy změněno: 2023-12-15 23:44
Ano, an abstraktní třída může mít A konstruktér v Jáva . Vy umět buď výslovně uveďte a konstruktér na abstraktní třída nebo pokud ne, kompilátor vůle přidat výchozí konstruktér bez argumentů abstraktní třída . To platí pro všechny třídy a platí to i pro an abstraktní třída.
Může tedy být konstruktor v Javě abstraktní?
Vy umět nemít abstraktní konstruktér , tak jako abstraktní znamená, že pro to musíte poskytnout implementaci v určitém okamžiku ve vaší podtřídě. Ale nemůžete to přepsat konstruktér . Tam vůle nemá smysl mít abstraktní konstruktér : Vy vůle vždy zavolejte konstruktér třídy dítěte a nikoli základní třídy.
Podobně, jak zavoláte konstruktor abstraktní třídy? Můžete definovat a konstruktér v an abstraktní třída , ale nemůžete tento objekt postavit. Nicméně betonové pod- třídy může (a musí) volání jeden z konstruktéři definovaný v abstraktní rodič třída . Nemůžeš volání an konstruktor abstraktní třídy s třída výraz vytvoření instance, tzn.
Podobně se lidé ptají, proč má abstraktní třída konstruktor?
A konstruktér v Javě objekt ve skutečnosti „nestaví“, používá se k inicializaci polí. Představte si, že vaše abstraktní třída má pole x a y a že vždy chcete, aby byla inicializována určitým způsobem, bez ohledu na to, jaká konkrétní konkrétní podtřída se nakonec vytvoří.
Může mít abstraktní třída objekty v Javě?
Protože to je abstraktní a objekt je beton. Ne, návrháři neposkytli způsob. Protože an abstraktní třída je neúplný třída (neúplné ve smyslu, který obsahuje abstraktní metody bez těla a výstupu) nemůžeme vytvořit instanci resp objekt ; stejným způsobem říkáte pro rozhraní.
Doporučuje:
Může mít abstraktní třída konstruktor?
Ano, abstraktní třída může mít konstruktor v Javě. Můžete buď explicitně poskytnout konstruktor abstraktní třídě, nebo pokud tak neučiníte, kompilátor přidá výchozí konstruktor bez argumentu v abstraktní třídě. To platí pro všechny třídy a platí to i pro abstraktní třídu
Může mít abstraktní třída modifikátory přístupu?
Třída Java obsahující abstraktní třídu musí být deklarována jako abstraktní třída. Abstraktní metoda může nastavit pouze modifikátor viditelnosti, veřejný nebo chráněný. To znamená, že abstraktní metoda nemůže do deklarace přidat statický nebo konečný modifikátor
Jaký je rozdíl mezi abstraktní třídou a abstraktní metodou?
Abstraktní metody jsou pouze deklarační a nebudou mít implementaci. Třída Java obsahující abstraktní třídu musí být deklarována jako abstraktní třída. Abstraktní metoda může nastavit pouze modifikátor viditelnosti, veřejný nebo chráněný. To znamená, že abstraktní metoda nemůže do deklarace přidat statický nebo konečný modifikátor
Může mít třída konstruktor?
Je možné, že třída nebude mít žádný konstruktor. (Důležitým rozdílem, který je třeba zde nakreslit, je to, že JVM nevyžaduje, aby všechny soubory tříd měly konstruktor; nicméně každá třída definovaná v Javě má výchozí konstruktor, pokud konstruktor není explicitně deklarován
Může mít abstraktní třída neabstraktní metody?
Ano, můžeme mít abstraktní třídu bez abstraktních metod, protože obě jsou nezávislé pojmy. Prohlášení třídy za abstraktní znamená, že nemůže být instancí sama o sobě a může být pouze podtříděno. Deklarování metody za abstraktní znamená, že Method bude definována v podtřídě