KAN grensesnitt ha ikke-abstrakte metoder?
KAN grensesnitt ha ikke-abstrakte metoder?

Video: KAN grensesnitt ha ikke-abstrakte metoder?

Video: KAN grensesnitt ha ikke-abstrakte metoder?
Video: Gregory Chaitin: Complexity, Metabiology, Gödel, Cold Fusion 2024, November
Anonim

Grensesnittmetoder er per definisjon offentlige og abstrakt , så du kan ikke har ikke - abstrakte metoder i din grensesnitt . I Java, grensesnittmetoder er offentlige og abstrakt som standard. Så det første alternativet er dårlig praksis. Poenget er at du kan ikke bruke ikke - abstrakte metoder inni grensesnitt , Fordi de er abstrakt som standard.

Dessuten, kan et grensesnitt ha abstrakte metoder?

An grensesnitt er som en "rent" abstrakt klasse. Klassen og alt dens metoder er abstrakt . An abstrakt klasse kan ha implementert metoder men selve klassen kan ikke instansieres (nyttig for arv og etter DRY). Hvis du implementerer Grensesnitt da må du implementere metoder i grensesnitt.

Kan abstrakt klasse også ha ikke-abstrakte metoder? Ja vi kan ha an abstrakt klasse uten Abstrakte metoder ettersom begge er uavhengige konsepter. Erklærer en klasse abstrakt betyr at det kan ikke instansieres på egen hånd og kan bare være underklassifisert. Erklærer en metode abstrakt betyr at Metode vil defineres i underklassen.

Dessuten, kan vi definere metoder i grensesnittet?

Som en klasse, en grensesnitt kan ha metoder og variabler, men metoder erklært i en grensesnitt er som standard abstrakte (kun metode signatur, ingen kropp). Grensesnitt spesifisere hva en klasse må gjøre og ikke hvordan. Hvis en klasse implementerer dette grensesnitt , da det kan brukes til å sortere en samling.

Må alle metoder i et grensesnitt implementeres?

Ja, det er obligatorisk gjennomføre alle de metoder i en klasse som implementerer en grensesnitt med mindre og inntil den klassen er en abstrakt klasse. Du ha to valg: - implementere hver metode kreves av grensesnitt eller - erklære savnet metoder abstrakt i klassen din.

Anbefalt: