Hvad er forskellen mellem udvidelser og implementeringer i Java?



Denne artikel om extends vs implementer i java hjælper dig med at forstå, hvordan disse to nøgleord kan bruges til at udføre arv i java på forskellige måder

Nøgleordene strækker sig og redskaber, begge bruges til at udføre arvskonceptet med , alligevel er der en subtil forskel mellem dem. Denne artikel om extends vs implementer i Java hjælper dig med at forstå de store forskelle mellem disse nøgleord.

Emnerne diskuteret i denne artikel er:





For bedre at forståforskellen mellem forlængere og redskaber, skal du også lære og forstå forskel mellem abstrakt klasse og interface i Java.

udvider søgeord



Når en underklasse udvider en anden klasse , det tillader underklassen at arve (dvs. genbrug) og tilsidesætte kode defineret i supertypen. Enkelt sagt, ved hjælp af udvidet søgeord, kan en nyoprettet klasse (underklasse) arve funktionerne i en eksisterende klasse (superklasse). Det kan det ogsåtilsidesætte defineret i en superklasse. En klasse kan aldrig udvide mere end en superklasse i Java.Her er en demonstrerer abstrakt klasse:

pakke MyPackage klasse A {String s A (String s1) {s = s1} ugyldig visning () {System.out.println (s)}} klasse B udvider A {String l B (String s1, String s2) {super ( s1) l = s2} ugyldig visning () {super.display () System.out.println (l)}} klasse ExtendsExample {public static void main (String args []) {A ob = new B ('Welcome', 'Til Edureka') ob.display ()}}

Produktion: Velkommen
Til Edureka

Forklaring: I ovenstående kode kan du observere, at klasse B har udvidet klasse A, den har adgang til display () -metoden og har tilsidesat metodevisningen (), der er defineret i klasse A. Denne enorme magt kommer ved hjælp af nøgleordet extends.



implementerer nøgleord

Når en klasseredskaberen grænseflade, skal den give en implementering af alle metoder, der er angivet i en interface . Hvis klassen ikke ønsker at levere implementering, kan den erklære sig selv som en abstrakt klasse . En grænseflade kan heller ikke implementere en anden grænseflade, da implementeringsmidler, der definerer metoderne, og grænsefladen altid har abstrakte metoder, så en grænseflade aldrig kan implementere en anden grænseflade.Her er et eksempel på et program, der demonstrerer abstrakt klasse:

pakke MyPackage-interface XYZ {ugyldig visning (String s) ugyldig visning (int i)} klasse Demo implementerer XYZ {offentlig ugyldig visning (int i) {System.out.println ('heltal værdi:' + i)} offentlig ugyldig visning ( String s) {System.out.println ('strengværdi:' + s)}} klasse ImplementExample {public static void main (String args []) {XYZ d = new Demo () d.display ('TechDifferences') d .show (2)}}

Produktion:

strengværdi: TechDifferences heltal værdi: 2

I ovenstående kode kan du se, at Demo-klassenimplementerer to metoder, der er erklæret i grænsefladen XYZ.

Fra ovenstående indhold har du måske bemærket nøgleforskellen mellem udvidelser og redskaber i . Lad os nu gå videre og liste andre forskelle.

udvider vs redskaber

Tabellen nedenfor viser de vigtigste forskelle mellem nøgleordets udvidelser og implementeringer.

hvordan man laver en dyb kopi i java
Sammenligningsfunktioner Udvider sig Redskaber

Implementering

En klasse kan arve en anden klasse, eller en grænseflade kan arve andre grænseflader ved hjælp af et nøgleord udvides

En klasse kan implementere en grænseflade ved hjælp af søgeordsimplementer

Metode

Underklassen, der udvider en superklasse, tilsidesætter måske ikke alle metoderne i en superklasse

Den klasse, der implementerer en grænseflade, skal implementere alle metoderne i grænsefladen.

Klasse

En klasse kan kun udvide en superklasse.

En klasse kan implementere et vilkårligt antal af en grænseflade på samme tid

Interface

En grænseflade kan udvide et hvilket som helst antal grænseflader

En grænseflade kan aldrig implementere nogen anden grænseflade

Nå, nu er du de vigtigste forskelle mellem udvidelser og redskaber i

Dette bringer os til slutningen af ​​detteudvider vs implementer i Java-artiklen. Vi gennemgik de store forskelle mellem udvidelser og implementerer nøgleord. Afslutningsvis bruges begge til at udføreArvekoncept af Java, men på forskellige måder.

Sørg for at øve så meget som muligt, og vend din oplevelse tilbage.

hvad er en forekomst af en klasse i java

Tjek den af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Vi er her for at hjælpe dig med hvert trin på din rejse, for at blive et ud over dette java-interviewspørgsmål, kommer vi med en læseplan, der er designet til studerende og fagfolk, der ønsker at være Java-udvikler.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i dette 'udvider vs implementerer i Java' og vi vender tilbage til dig hurtigst muligt.