Kan 'n subklas die ouer se klaskonstruktor noem?
Kan 'n subklas die ouer se klaskonstruktor noem?

Video: Kan 'n subklas die ouer se klaskonstruktor noem?

Video: Kan 'n subklas die ouer se klaskonstruktor noem?
Video: How to create a Generic Networking Layer in iOS apps (Refresh Tokens, Combine, Async/Await, SwiftUI) 2024, Mei
Anonim

Nee a subklas kan nie die erf nie konstrukteurs van sy superklas. Konstrukteurs is spesiale funksielede van 'n klas deurdat hulle nie deur die geërf word nie subklas . Konstrukteurs word gebruik om 'n geldige toestand vir 'n voorwerp by skepping te gee.

In hierdie verband, word konstruktors geërf, kan 'n subklas die ouer se klaskonstruktor noem?

"Om aan te roep" ouerklaskonstruktor in kind klas jy het altyd "super" sleutelwoord nodig. Konstrukteurs is nie lede nie, so hulle is nie geërf deur subklasse , maar die konstruktor van die superklas kan opgeroep word vanaf die subklas.

Weet ook, hoe noem jy 'n konstruktor vir 'n ouerklas? Ten einde 'n ouer konstruktor , a bel aan ouer ::_construct() binne die kind konstruktor word benodig. As die kind nie 'n definieer nie konstruktor dan kan dit geërf word van die ouerklas net soos 'n normale klas metode (indien dit nie as privaat verklaar is nie).

Die vraag is dan, kan ons subklaskonstruktor van superklaskonstruktor in Java noem?

Jy kan nie bel a sub-klas konstruktor van 'n superklas-konstruktor . Roep die konstruktor van 'n subklas binne die konstruktor van die basisklas is nie moontlik nie. Daar is verskeie redes hiervoor maar een is dit a konstruktor van 'n afgeleide klas oproepe , implisiet of eksplisiet, a konstruktor van die basisklas.

Hoe roep 'n subklas sy superklas se konstruktor aan?

A subklas kan hê sy eie private data lede, dus a subklas kan ook hê sy eie konstrukteurs . Dus, wanneer a subklas voorwerp word geïnstantieer die subklas objek moet ook outomaties een van die konstrukteurs van die superklas . Om bel a superklas-konstruktor die super sleutelwoord word gebruik.

Aanbeveel: