Jaký je rozdíl mezi rozšířeními a implementacemi v Javě?



Tento článek o rozšíření vs implementuje v Javě vám pomůže pochopit, jak lze tato dvě klíčová slova použít k provedení dědičnosti v Javě různými způsoby

Klíčová slova rozšiřuje a nářadí, oba se používají k provedení konceptu dědičnosti , přesto je mezi nimi jemný rozdíl. Tento článek o rozšíření vs implementace v Javě vám pomůže pochopit hlavní rozdíly mezi těmito klíčovými slovy.

Témata diskutovaná v tomto článku jsou:





Abychom lépe porozumělirozdíl mezi nástavci a nářadím, musíte se také naučit a rozumět rozdíl mezi abstraktní třída a rozhraní v Javě.

rozšiřuje klíčové slovo



Když podtřída rozšiřuje další třída , umožňuje podtřídě zdědit (tj. znovu použít) a přepsat kód definovaný v supertypu. Jednoduše řečeno, pomocí klíčového slova extends může nově vytvořená třída (podtřída) zdědit vlastnosti existující třídy (nadtřídy). Také můžepřepsat definované v nadtřídě. Třída nemůže v Javě nikdy rozšířit více než jednu nadtřídu.Tady je předvádění abstraktní třídy:

balíček MyPackage třída A {Řetězec s A (Řetězec s1) {s = s1} void display () {System.out.println (s)}} třída B rozšiřuje A {Řetězec l B (Řetězec s1, Řetězec s2) {super ( s1) l = s2} void display () {super.display () System.out.println (l)}} třída ExtendsExample {public static void main (String args []) {A ob = new B ('Welcome', 'To Edureka') ob.display ()}}

Výstup: Vítejte
Na Edureka

jak vytvořit pole objektů v Javě

Vysvětlení: Ve výše uvedeném kódu můžete pozorovat, že třída B má rozšířenou třídu A, má přístup k metodě display () a přepsala metodu display () definovanou ve třídě A. Tato obrovská síla pochází z použití klíčového slova extends.



implementuje klíčové slovo

Když třídanářadírozhraní, musí poskytovat implementaci všech metod deklarovaných uvnitř rozhraní . Pokud třída nechce poskytovat implementaci, může se deklarovat jako abstraktní třída . Rozhraní také nikdy nemůže implementovat jiné rozhraní, protože implementační prostředky definující metody a rozhraní mají vždy abstraktní metody, takže rozhraní nikdy nemůže implementovat jiné rozhraní.Zde je ukázkový program předvádějící abstraktní třídu:

balíček MyPackage interface XYZ {void display (String s) void show (int i)} class Demo implements 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)}}

Výstup:

hodnota řetězce: TechDifferences celočíselná hodnota: 2

Ve výše uvedeném kódu můžete sledovat ukázkovou tříduimplementuje dvě metody deklarované v rozhraní XYZ.

Z výše uvedeného obsahu jste si možná všimli klíčového rozdílu mezi extends a implements in . Pojďme nyní a vyjmenujme další rozdíly.

veřejný řetězec tostring ()

prodlužuje vs nářadí

V tabulce níže jsou uvedeny klíčové rozdíly mezi rozšířením a implementací klíčových slov.

Funkce porovnání Rozšiřuje Nářadí

Implementace

Třída může zdědit jinou třídu nebo rozhraní může zdědit další rozhraní pomocí rozšíření klíčového slova

Třída může implementovat rozhraní pomocí implementace klíčových slov

Metoda

Podtřída, která rozšiřuje nadtřídu, může nebo nemusí přepsat všechny metody v nadtřídě

Třída implementující rozhraní musí implementovat všechny metody tohoto rozhraní.

Třída

Třída může rozšířit pouze jednu nadtřídu.

Třída může implementovat libovolný počet rozhraní současně

zdvojnásobte int v java

Rozhraní

Rozhraní může rozšířit libovolný počet rozhraní

Rozhraní nikdy nemůže implementovat žádné jiné rozhraní

No, teď jste klíčové rozdíly mezi rozšiřuje a implementuje v

Tím se dostáváme ke koncirozšiřuje vs implementuje v článku Java. Prošli jsme hlavními rozdíly mezi klíčovými slovy extends a implementuje. Závěrem lze říci, že oba se používají k provedeníKoncept dědičnosti Javy, ale různými způsoby.

Ujistěte se, že cvičíte co nejvíce a vraťte své zkušenosti.

Podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů rozložených po celém světě. Jsme tu, abychom vám pomohli s každým krokem na vaší cestě, abychom se kromě otázek týkajících se tohoto rozhovoru pro javu stali i učebním plánem, který je určen pro studenty a profesionály, kteří chtějí být vývojářem Java.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto „rozšiřuje vs implementuje v Javě“ a my se vám ozveme co nejdříve.