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.