
2025 Outeur: Lynn Donovan | [email protected]. Laas verander: 2025-01-22 17:14
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
Wat is die behoefte aan abstrakte klasse en abstrakte metodes?

Abstrakte klasse. Abstract (wat Java ondersteun met abstrakte sleutelwoord) beteken dat die klas of metode of veld of wat ook al nie geïnstantieer kan word nie (dit is geskep) waar dit gedefinieer is. 'n Ander voorwerp moet die betrokke item instansieer. As jy 'n klas abstrak maak, kan jy nie 'n voorwerp daaruit instansieer 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