De sleutelwoorden strekt zich uit en werktuigen, beide worden gebruikt om het Inheritance-concept van maar toch is er een subtiel verschil tussen beide. Dit artikel over uitbreidingen versus implementaties in Java zal u helpen de belangrijkste verschillen tussen deze trefwoorden te begrijpen.
De onderwerpen die in dit artikel worden besproken zijn:
Om hetverschil tussen verlengingen en werktuigen, moet u ook de verschil tussen abstracte klasse en interface in Java.
breidt trefwoord uit
Wanneer een subklasse een andere uitbreidt klasse , staat het de subklasse toe om code die in het supertype is gedefinieerd, te erven (dwz hergebruiken) en te overschrijven. In eenvoudige bewoordingen, door het trefwoord extends te gebruiken, kan een nieuw gemaakte klasse (subklasse) de kenmerken van een bestaande klasse (superklasse) erven. Het kan ookoverschrijven de gedefinieerd in een superklasse. Een klasse kan nooit meer dan één superklasse in Java uitbreiden.Hier is een demonstrerende abstracte klasse:
pakket MyPackage klasse A {String s A (String s1) {s = s1} void display () {System.out.println (s)}} klasse B breidt A {String l B (String s1, String s2) {super ( s1) l = s2} void display () {super.display () System.out.println (l)}} class ExtendsExample {public static void main (String args []) {A ob = new B ('Welkom', 'To Edureka') ob.display ()}}
Uitgang: Welkom
Op Edureka
Uitleg: In de bovenstaande code kun je zien dat klasse B klasse A heeft uitgebreid, toegang heeft tot de methode display () en de methode display () heeft overschreven die is gedefinieerd in klasse A. Deze enorme kracht komt door het gebruik van het trefwoord extends.
implementeert Trefwoord
Wanneer een classwerktuigeneen interface, moet het een implementatie bieden van alle methoden die binnen een koppel . Als de klasse geen implementatie wil bieden, kan deze zichzelf declareren als een abstracte klasse . Ook kan een interface nooit een andere interface implementeren, aangezien implementatiemiddelen die de methoden definiëren, en interface altijd abstracte methoden hebben, zodat een interface nooit een andere interface kan implementeren.Hier is een voorbeeldprogramma dat abstracte klasse demonstreert:
pakket MyPackage interface XYZ {void display (String s) void show (int i)} klasse Demo implementeert XYZ {public void show (int i) {System.out.println ('integer value:' + i)} public void display ( String s) {System.out.println ('string value:' + s)}} class ImplementExample {public static void main (String args []) {XYZ d = nieuwe Demo () d.display ('TechDifferences') d .show (2)}}
Uitgang:
matrix vermenigvuldigingsprogramma in java
tekenreekswaarde: TechDifferences gehele waarde: 2
In de bovenstaande code kun je zien dat de Demo-klasseimplementeert twee methoden die zijn gedeclareerd in de interface XYZ.
Uit de bovenstaande inhoud heb je misschien het belangrijkste verschil opgemerkt tussen uitbreidt en implementeert in . Laten we nu doorgaan en andere verschillen opsommen.
breidt uit versus werktuigen
De onderstaande tabel bevat de belangrijkste verschillen tussen de trefwoorden uitbreidingen en werktuigen.
Vergelijkingsfuncties | Verlengt | Werktuigen |
Implementatie | Een klasse kan een andere klasse erven, of een interface kan andere interfaces erven met behulp van een trefwoorduitbreiding | Een klasse kan een interface implementeren met behulp van trefwoordimplementaties |
Methode | De subklasse die een superklasse uitbreidt, kan al dan niet alle methoden in een superklasse overschrijven | De klasse die een interface implementeert, moet alle methoden van die interface implementeren. |
Klasse | Een klasse kan slechts één superklasse uitbreiden. | Een klasse kan een willekeurig aantal interfaces tegelijk implementeren |
Koppel | Een interface kan een willekeurig aantal interfaces uitbreiden | Een interface kan nooit een andere interface implementeren welke scannerklassemethode een string leest |
Welnu, nu zijn de belangrijkste verschillen tussen uitbreidingen en implementaties in
Hiermee zijn we bij het einde hiervanbreidt uit versus implementeert in Java-artikel. We hebben de belangrijkste verschillen tussen uitbreidingen en implementatiesleutelwoorden doorgenomen. Tot slot worden beide gebruikt om hetOverervingsconcept van Java maar op verschillende manieren.
Zorg ervoor dat je zoveel mogelijk oefent en terugkeert naar je ervaring.
Bekijk de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. We zijn hier om je te helpen bij elke stap op je reis, om naast deze Java-interviewvragen ook een curriculum te bedenken dat is ontworpen voor studenten en professionals die een Java-ontwikkelaar willen worden.
Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze ‘uitbreidt versus implementeert in Java’ en we nemen zo snel mogelijk contact met u op.