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.