Vad är skillnaden mellan förlängningar och implementeringar i Java?



Den här artikeln om extends vs implementerar i java hjälper dig att förstå hur dessa två nyckelord kan användas för att utföra arv i java på olika sätt

Nyckelorden sträcker sig och redskap, båda används för att utföra arvskonceptet , ändå finns det en subtil skillnad mellan dem. Den här artikeln om extends vs implementerar i Java hjälper dig att förstå de stora skillnaderna mellan dessa nyckelord.

Ämnen som diskuteras i den här artikeln är:





För att bättre förståskillnad mellan förlängningar och redskap, måste du också lära dig och förstå skillnad mellan abstrakt klass och gränssnitt i Java.

utökar nyckelordet



När en underklass sträcker sig en annan klass , det tillåter underklassen att ärva (dvs. återanvändning) och åsidosätta den kod som definierats i supertypen. Enkelt uttryckt, med hjälp av utökat nyckelord, kan en nyskapad klass (underklass) ärva funktionerna i en befintlig klass (superklass). Det kan ocksååsidosätta definieras i en superklass. En klass kan aldrig förlänga mer än en superklass i Java.Här är en demonstrerar abstrakt klass:

paket MyPackage klass A {String s A (String s1) {s = s1} ogiltig visning () {System.out.println (s)}} klass B sträcker sig A {String l B (String s1, String s2) {super ( s1) l = s2} ogiltig visning () {super.display () System.out.println (l)}} class ExtendsExample {public static void main (String args []) {A ob = new B ('Welcome', 'Till Edureka') ob.display ()}}

Produktion: Välkommen
Till Edureka

Förklaring: I ovanstående kod kan du observera att klass B har utökad klass A, den har tillgång till display () -metoden och har åsidosatt metodvisning () definierad i klass A. Denna enorma kraft kommer genom att använda nyckelordet extends.



implementerar nyckelord

När en klassredskapett gränssnitt måste det ge en implementering av alla metoder som deklareras i en gränssnitt . Om klassen inte vill ge implementering kan den förklara sig som en abstrakt klass . Ett gränssnitt kan också aldrig implementera ett annat gränssnitt eftersom implementeringsmedel definierar metoderna och gränssnittet alltid har abstrakta metoder så att ett gränssnitt aldrig kan implementera ett annat gränssnitt.Här är ett exempel på ett program som visar abstrakt klass:

paket MyPackage-gränssnitt XYZ {void display (String s) void show (int i)} class Demo implementerar 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)}}

Produktion:

strängvärde: TechDifferences heltalvärde: 2

I ovanstående kod kan du observera att Demo-klassenimplementerar två metoder som deklarerats i gränssnittet XYZ.

Från ovanstående innehåll kanske du har märkt nyckelskillnaden mellan förlängningar och redskap i . Låt oss nu gå vidare och lista ut andra skillnader.

förlänger mot redskap

Tabellen nedan visar de viktigaste skillnaderna mellan nyckelordens förlängningar och implementeringar.

Jämförelse funktioner Förlänger Redskap

Genomförande

En klass kan ärva en annan klass, eller ett gränssnitt kan ärva andra gränssnitt med hjälp av ett nyckelord förlänger

En klass kan implementera ett gränssnitt med hjälp av nyckelordsredskap

Metod

Underklassen som sträcker sig till en superklass kan eventuellt åsidosätta alla metoder i en superklass

Klassen som implementerar ett gränssnitt måste implementera alla metoder för det gränssnittet.

Klass

En klass kan bara utvidga en superklass.

bästa programvaran för Java-programmering

En klass kan implementera valfritt antal gränssnitt samtidigt

Gränssnitt

Ett gränssnitt kan förlänga valfritt antal gränssnitt

Ett gränssnitt kan aldrig implementera något annat gränssnitt

Tja, nu är du de viktigaste skillnaderna mellan förlängningar och redskap i

Detta leder oss till slutet av dettautökar kontra redskap i Java-artikeln. Vi gick igenom de stora skillnaderna mellan utvidgar och implementerar nyckelord. Avslutningsvis används båda för att köraArvskoncept av Java men på olika sätt.

Se till att du tränar så mycket som möjligt och återgår till din upplevelse.

Kolla in av Edureka, ett pålitligt online-lärande företag med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Vi är här för att hjälpa dig med varje steg på din resa, för att bli en förutom de här Java-intervjufrågorna, kommer vi med en läroplan som är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i detta ”utökar mot implementerar i Java” så återkommer vi till dig så snart som möjligt.