Clasa abstractă Java poate avea un constructor?
Clasa abstractă Java poate avea un constructor?

Video: Clasa abstractă Java poate avea un constructor?

Video: Clasa abstractă Java poate avea un constructor?
Video: Java - abstract class have constructor, private constructor - How to call the same 2024, Mai
Anonim

Da, an clasa abstractă poate avea A constructor în Java . Tu poate sa fie să furnizeze în mod explicit a constructor la clasa abstractă sau dacă nu, compilatorul voi adăugați implicit constructor fără argument în clasa abstractă . Acest lucru este valabil pentru toți clase și se aplică și unui clasa abstractă.

În consecință, poate un constructor să fie abstract în Java?

Tu poate sa nu am un constructor abstract , la fel de abstract înseamnă că trebuie să furnizați implementarea pentru asta la un moment dat în subclasa dvs. Dar nu poți trece peste constructor . Acolo voi nu are rost să aibă un constructor abstract : Tu voi sunați întotdeauna la constructor a clasei copil și nu a clasei de bază.

În mod similar, cum numiți un constructor de clasă abstractă? Puteți defini a constructor într-o clasa abstractă , dar nu poți construi acel obiect. Cu toate acestea, sub- clase poate (și trebuie) apel unul dintre constructori definite în abstract mamă clasă . Nu poți apel un constructor de clasă abstractă cu clasă expresie de creare a instanțelor, i.e.

La fel, oamenii se întreabă, de ce o clasă abstractă are un constructor?

A constructor în Java nu „construiește” obiectul, este folosit pentru a inițializa câmpuri. Imaginați-vă că dvs clasa abstracta are câmpurile x și y și că doriți întotdeauna ca acestea să fie inițializate într-un anumit mod, indiferent de ce subclasă concretă reală este creată în cele din urmă.

Clasa abstractă poate avea obiecte în Java?

Pentru ca este abstract si un obiect este beton. Nu, designerii nu au oferit o cale. Pentru că an clasa abstractă este un incomplet clasă (incomplet în sensul pe care îl conține abstract metode fără corp și ieșire) nu putem crea o instanță sau obiect ; la fel spuneți pentru o interfață.

Recomandat: