Wat is het verschil tussen uitbreidingen en werktuigen in Java?



Dit artikel over uitbreidingen versus implementaties in java zal u helpen begrijpen hoe deze twee sleutelwoorden kunnen worden gebruikt om op verschillende manieren overerving in java uit te voeren

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.