Video: Kan en klasse med privat konstruktør arves i Java?
2024 Forfatter: Lynn Donovan | [email protected]. Sist endret: 2023-12-15 23:51
5 svar. Java forhindrer ikke underklassifisering av klasse med private konstruktører . Det det forhindrer er sub- klasser som ikke får tilgang til noen konstruktører av sin super klasse . Dette betyr en privat konstruktør kan ikke brukes i en annen klasse fil og en lokal pakke konstruktør kan ikke brukes i en annen pakke.
Med tanke på dette, kan vi arve klasse med privat konstruktør?
Hvis klasse med privat konstruktør og forseglet klasse Kan ikke være arvet , så hva er nytten av klasse som ikke kan være arvet . Og som sagt tidligere privat konstruktør kan være unnskyldt som vi har statisk klasser nå. Så privat konstruktør + forseglet betyr ren statisk klasse . Også forseglet klasse Kan ikke være arvet.
Man kan også spørre seg, hva kan man ikke gjøre med en klasse med privat konstruktør? Bortsett fra å lage singleton klasse , privat konstruktør har også mange andre sentrale bruksområder. Med privat konstruktør eksempel på det klasse kan bare opprettes innenfor deklarering klasse . Ved å lage en konstruktør privat , vi kan forhindre a klasse fra å bli utvidet med noen annen klasse.
I denne forbindelse, kan privat klasse arves i Java?
EN java privat medlem kan ikke være arvet da den kun er tilgjengelig for de deklarerte java klasse . Siden privat medlemmer kan ikke være arvet , er det ikke plass til diskusjon om java kjøretidsoverbelastning eller java overordnede (polymorfisme) trekk.
Hva skjer hvis konstruktøren er privat i Java?
Java – privat konstruktør eksempel. Bruken av privat konstruktør er å betjene singleton-klasser. Ved hjelp av privat konstruktør vi kan sikre at ikke mer enn ett objekt kan opprettes om gangen. Ved å gi en privat konstruktør du forhindrer at klasseforekomster opprettes på noe annet sted enn akkurat denne klassen.
Anbefalt:
Kan abstrakt klasse ha konstruktør?
Ja, en abstrakt klasse kan ha en konstruktør i Java. Du kan enten eksplisitt gi en konstruktør til abstrakt klasse, eller hvis du ikke gjør det, vil kompilatoren legge til standard konstruktør uten argument i abstrakt klasse. Dette gjelder for alle klasser, og det gjelder også for en abstrakt klasse
Kan Java abstrakt klasse ha konstruktør?
Ja, en abstrakt klasse kan ha en konstruktør i Java. Du kan enten eksplisitt gi en konstruktør til abstrakt klasse, eller hvis du ikke gjør det, vil kompilatoren legge til standard konstruktør uten argument i abstrakt klasse. Dette gjelder for alle klasser, og det gjelder også for en abstrakt klasse
Hvorfor er enum-konstruktør privat?
Du kan faktisk ikke ha en offentlig enum-konstruktør. Du trenger at denne konstruktøren er privat, fordi enums definerer et begrenset sett med verdier (for eksempel EN_US, EN_UK, FR_FR, FR_BE). Hvis konstruktøren var offentlig kunne folk potensielt opprette flere verdier (for eksempel ugyldige/ikke-erklærte verdier som XX_KK osv.)
Kan konstruktør arves i Java?
Nei, konstruktører kan ikke arves i Java. I arv arver underklassen medlemmene av en superklasse unntatt konstruktører. Med andre ord, konstruktører kan ikke arves i Java, derfor er det ikke nødvendig å skrive final før konstruktører
Kan en klasse ha en konstruktør?
Det er mulig for en klasse å ikke ha noen konstruktør. (En viktig forskjell å trekke her er at JVM ikke krever at alle klassefiler har en konstruktør, men enhver klasse definert i Java har en standardkonstruktør hvis en konstruktør ikke er eksplisitt deklarert