Qual è la differenza tra estensioni e implementazioni in Java?



Questo articolo su extends vs implements in java ti aiuterà a capire come queste due parole chiave possono essere utilizzate per eseguire l'ereditarietà in java in modi diversi

Le parole chiave si estende e attrezzi, entrambi sono usati per eseguire il concetto di ereditarietà di , tuttavia, c'è una sottile differenza tra loro. Questo articolo su estensioni e implementazioni in Java ti aiuterà a comprendere le principali differenze tra queste parole chiave.

Gli argomenti discussi in questo articolo sono:





Per capire meglio ildifferenza tra estensioni e attrezzi, devi anche imparare e capire il differenza tra classe e interfaccia astratte in Java.

estende la parola chiave



Quando una sottoclasse ne estende un'altra classe , consente alla sottoclasse di ereditare (cioè riutilizzare) e sovrascrivere il codice definito nel supertipo. In termini semplici, utilizzando la parola chiave extends, una classe appena creata (sottoclasse) può ereditare le caratteristiche di una classe esistente (superclasse). Inoltre, puòsovrascrivere il definito in una superclasse. Una classe non può mai estendere più di una superclasse in Java.Ecco un file dimostrazione della classe astratta:

pacchetto MyPackage classe A {String s A (String s1) {s = s1} void display () {System.out.println (s)}} classe B estende A {String l B (String s1, String s2) {super ( s1) l = s2} void display () {super.display () System.out.println (l)}} classe ExtendsExample {public static void main (String args []) {A ob = new B ('Welcome', 'To Edureka') ob.display ()}}

Produzione: benvenuto
A Edureka

usa python in visual studio

Spiegazione: Nel codice sopra, puoi osservare che la classe B ha esteso la classe A, ha accesso al metodo display () e ha sovrascritto il metodo display () definito nella classe A. Questo immenso potere deriva dall'uso della parola chiave extends.



implementa la parola chiave

Quando una classeattrezziun'interfaccia, deve fornire un'implementazione di tutti i metodi dichiarati all'interno di un file interfaccia . Se la classe non desidera fornire l'implementazione, può dichiararsi come file classe astratta . Inoltre, un'interfaccia non può mai implementare un'altra interfaccia poiché i mezzi di implementazione che definiscono i metodi e l'interfaccia hanno sempre metodi astratti, quindi un'interfaccia non può mai implementare un'altra interfaccia.Ecco un esempio di programma che mostra una lezione astratta:

pacchetto MyPackage interfaccia XYZ {void display (String s) void show (int i)} class Demo implementa 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 = new Demo () d.display ('TechDifferences') d .show (2)}}

Produzione:

valore stringa: TechDifferences valore intero: 2

Nel codice sopra, puoi osservare che la classe Demoimplementa due metodi dichiarati nell'interfaccia XYZ.

Dal contenuto di cui sopra, potresti aver notato la differenza fondamentale tra si estende e implementa in . Ora andiamo avanti ed elenchiamo altre differenze.

è git e github lo stesso

si estende contro gli attrezzi

La tabella seguente elenca le differenze principali tra le parole chiave estende e implementa.

Caratteristiche di confronto Si estende Implementa

Implementazione

Una classe può ereditare un'altra classe o un'interfaccia può ereditare altre interfacce utilizzando una parola chiave extends

Una classe può implementare un'interfaccia utilizzando la parola chiave implements

Metodo

La sottoclasse che estende una superclasse può o non può sovrascrivere tutti i metodi in una superclasse

La classe che implementa un'interfaccia deve implementare tutti i metodi di quell'interfaccia.

Classe

Una classe può estendere solo una superclasse.

Una classe può implementare un numero qualsiasi di un'interfaccia contemporaneamente

un array di oggetti java

Interfaccia

Un'interfaccia può estendere un numero qualsiasi di interfacce

Un'interfaccia non può mai implementare un'altra interfaccia

Bene, ora le differenze chiave tra estensioni e attrezzi in

Questo ci porta alla fine di tutto questoextends vs implements nell'articolo Java. Abbiamo esaminato le principali differenze tra le parole chiave extends e implements. Per concludere, entrambi vengono utilizzati per eseguire il fileConcetto di ereditarietà di Java ma in modi diversi.

Assicurati di esercitarti il ​​più possibile e di ripristinare la tua esperienza.

Controlla il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Siamo qui per aiutarti in ogni fase del tuo viaggio, per diventare oltre a queste domande dell'intervista Java, abbiamo creato un curriculum progettato per studenti e professionisti che vogliono essere uno sviluppatore Java.

Hai domande per noi? Si prega di menzionarlo nella sezione dei commenti di questo 'extends vs implements in Java' e ti risponderemo il prima possibile.