Koja je razlika između proširenja i implementacija u Javi?



Ovaj članak o extends vs implements u javi pomoći će vam da shvatite kako se ove dvije ključne riječi mogu koristiti za izvršavanje nasljeđivanja u javi na različite načine

Ključne riječi proteže se i oruđa, oba se koriste za izvršavanje koncepta nasljeđivanja , ipak, postoji suptilna razlika među njima. Ovaj članak o proširivanjima i implementacijama na Javi pomoći će vam da razumijete glavne razlike između ovih ključnih riječi.

Teme o kojima se raspravlja u ovom članku su:





Da bismo bolje razumjelirazlika između produžetaka i oruđa, također trebate naučiti i razumjeti razlika između apstraktna klasa i sučelje na Javi.

proširuje Ključna riječ



Kad se podrazred proširi na drugi razred , omogućuje potklasu da naslijedi (tj. ponovno upotrijebi) i poništi kod definiran u supertipu. Jednostavno rečeno, pomoću ključne riječi extends novostvorena klasa (podrazred) može naslijediti značajke postojeće klase (superrazreda). Također, moženadjačati definirano u superrazredu. Klasa nikada ne može proširiti više od jedne superrazrede na Javi.Evo pokazivanje apstraktne klase:

paket MyPackage klasa A {String s A (String s1) {s = s1} void display () {System.out.println (s)}} klasa B produžuje A {String l B (String s1, String s2) {super ( s1) l = s2} void display () {super.display () System.out.println (l)}} klasa ExtendsExample {public static void main (String args []) {A ob = novo B ('Dobrodošli', 'Za Edureku') ob.display ()}}

Izlaz: Dobrodošli
Edureki

Obrazloženje: U gornjem kodu možete primijetiti da je klasa B imala proširenu klasu A, ima pristup display () metodi i nadjačala je metodu display () definiranu u klasi A. Ova neizmjerna snaga dolazi korištenjem ključne riječi extends.



implementira Ključnu riječ

Kad razredprovodisučelje, mora osigurati provedbu svih metoda deklariranih unutar sučelje . Ako klasa ne želi osigurati implementaciju, može se deklarirati kao apstraktni razred . Također, sučelje nikada ne može implementirati drugo sučelje, jer izvedbena sredstva koja definiraju metode i sučelje uvijek imaju apstraktne metode, tako da sučelje nikada ne može implementirati drugo sučelje.Evo primjera programa koji prikazuje apstraktnu nastavu:

paket MyPackage sučelje XYZ {void display (String s) void show (int i)} class Demo implementira XYZ {public void show (int i) {System.out.println ('integer value:' + i)} public void display ( String s) {System.out.println ('value value:' + s)}} class ImplementExample {public static void main (String args []) {XYZ d = new Demo () d.display ('TechDifferences') d .prikazati (2)}}

Izlaz:

vrijednost niza: cijela vrijednost TechDifferences: 2

U gornjem kodu možete primijetiti da je Demo klasaprovodi dvije metode deklarirane u sučelju XYZ.

Iz gornjeg sadržaja možda ste primijetili ključnu razliku između proširenja i implementiranja u . Ajmo sada i nabrojimo druge razlike.

proteže se vs implementira

Tablica u nastavku navodi ključne razlike između ključnih riječi koje se proširuju i implementiraju.

java pretvori dvostruko u int
Značajke usporedbe Proširuje Provodi

Provedba

Klasa može naslijediti drugu klasu ili sučelje može naslijediti druga sučelja pomoću ključne riječi extends

Klasa može implementirati sučelje pomoću alata za ključne riječi

Metoda

Podrazred koji proširuje superrazred može ili ne mora nadjačati sve metode u superrazredu

Klasa koja implementira sučelje mora implementirati sve metode tog sučelja.

Razred

Klasa može proširiti samo jedan superrazred.

Klasa može istodobno implementirati bilo koji broj sučelja

Sučelje

Sučelje može proširiti bilo koji broj sučelja

Sučelje nikada ne može implementirati bilo koje drugo sučelje

Eto, sad ste ključne razlike između proširenja i implementiranja u

Ovo nas dovodi do kraja ovogaextends vs implementira u članku Java. Prošli smo kroz glavne razlike između proširenja i implementacije ključnih riječi. Da zaključimo, oboje se koriste za izvršavanjeKoncept nasljeđivanja Jave, ali na različite načine.

Obavezno vježbajte što je više moguće i vratite svoje iskustvo.

Pogledajte Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Ovdje smo da vam pomognemo u svakom koraku na putovanju, jer osim što postajete pitanja za ovaj intervju za javu, donosimo kurikulum koji je dizajniran za studente i profesionalce koji žele biti programer za Javu.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog 'extends vs implements in Java' i javit ćemo vam se u najkraćem mogućem roku.