Video: Kan Java abstrakte klas 'n konstruktor hê?
2024 Outeur: Lynn Donovan | [email protected]. Laas verander: 2023-12-15 23:42
Ja, 'n abstrakte klas kan hê a konstruktor in Java . Jy kan verskaf óf uitdruklik a konstruktor aan abstrakte klas of as jy dit nie doen nie, die samesteller sal voeg verstek by konstruktor van geen argument in abstrakte klas . Dit is waar vir almal klasse en dit geld ook vir 'n abstrakte klas.
Gevolglik, kan 'n konstruktor abstrak in Java wees?
Jy kan het nie 'n abstrakte konstruktor , soos abstrak beteken dat jy die implementering daarvoor op 'n sekere tydstip in jou subklas moet verskaf. Maar jy kan nie ignoreer nie konstruktor . Daar sal geen sin om 'n te hê nie abstrakte konstruktor : jy sal bel altyd die konstruktor van kinderklas en nie van basisklas nie.
Net so, hoe noem jy 'n abstrakte klaskonstruktor? Jy kan 'n definieer konstruktor in 'n abstrakte klas , maar jy kan nie daardie voorwerp konstrueer nie. Konkrete sub- klasse kan (en moet) bel een van die konstrukteurs gedefinieer in die abstrak ouer klas . Jy kan nie bel an abstrakte klas konstruktor met 'n klas instansie skeppingsuitdrukking, d.w.s.
Net so, vra mense, hoekom het 'n abstrakte klas 'n konstruktor?
A konstruktor in Java "bou" nie eintlik die voorwerp nie, dit word gebruik om velde te inisialiseer. Stel jou voor dat jou abstrakte klas het velde x en y, en dat jy altyd wil hê dat hulle op 'n sekere manier geïnisialiseer moet word, maak nie saak watter werklike konkrete subklas uiteindelik geskep word nie.
Kan abstrakte klas voorwerpe in Java hê?
Want dit is abstrak en 'n voorwerp is konkreet. Nee, ontwerpers het nie 'n manier verskaf nie. Omdat 'n abstrakte klas is 'n onvolledige klas (onvolledig in die sin wat dit bevat abstrak metodes sonder liggaam en uitset) kan ons nie 'n instansie skep of voorwerp ; dieselfde manier wat jy sê vir 'n koppelvlak.
Aanbeveel:
Kan abstrakte klas 'n konstruktor hê?
Ja, 'n abstrakte klas kan 'n konstruktor in Java hê. Jy kan óf eksplisiet 'n konstruktor aan abstrakte klas verskaf óf as jy dit nie doen nie, sal die samesteller verstekkonstruktor van geen argument in abstrakte klas byvoeg. Dit geld vir alle klasse en dit geld ook vir 'n abstrakte klas
Kan abstrakte klas toegangswysigers hê?
'n Java-klas wat 'n abstrakte klas bevat, moet as abstrakte klas verklaar word. 'n Abstrakte metode kan slegs 'n sigbaarheidswysiger stel, een van publiek of beskerm. Dit wil sê, 'n abstrakte metode kan nie statiese of finale wysiger by die verklaring voeg nie
Wat is die verskil tussen abstrakte klas en abstrakte metode?
Abstrakte metodes is slegs verklaring en dit sal nie implementering hê nie. 'n Java-klas wat 'n abstrakte klas bevat, moet as abstrakte klas verklaar word. 'n Abstrakte metode kan slegs 'n sigbaarheidswysiger stel, een van publiek of beskerm. Dit wil sê, 'n abstrakte metode kan nie statiese of finale wysiger by die verklaring voeg nie
Kan 'n klas met private konstruktor in Java geërf word?
5 antwoorde. Java verhoed nie subklassering van klas met private konstrukteurs nie. Wat dit verhoed, is subklasse wat nie toegang tot enige konstrukteurs van sy superklas het nie. Dit beteken 'n private konstruktor kan nie in 'n ander klaslêer gebruik word nie, en 'n pakket plaaslike konstruktor kan nie in 'n ander pakket gebruik word nie
Kan abstrakte klas nie-abstrakte metodes hê?
Ja, ons kan 'n abstrakte klas hê sonder Abstrakte Metodes aangesien beide onafhanklike konsepte is. Deur 'n klasabstrak te verklaar, beteken dit dat dit nie op sy eie geïnstansieer kan word nie en slegs sub-geklassifiseer kan word. Om 'n metode abstrak te verklaar, beteken dat Metode in die subklas gedefinieer sal word