Ključne besede podaljša in pripomočki, oba se uporabljata za izvajanje koncepta dedovanja , vendar je med njimi prefinjena razlika. Ta članek o razširitvah in izvedbah v Javi vam bo pomagal razumeti glavne razlike med temi ključnimi besedami.
Teme, obravnavane v tem članku, so:
Da bi bolje razumelirazlika med podaljški in izvedbami, se morate tudi naučiti in razumeti razlika med abstraktni razred in vmesnik v Javi.
razširi ključno besedo
Ko podrazred razširi drugega razred , podrazredu omogoča podedovanje (tj. ponovno uporabo) in preglasitev kode, definirane v nadtipu. Preprosto povedano, z uporabo ključne besede extends lahko na novo ustvarjeni razred (podrazred) podeduje lastnosti obstoječega razreda (superrazred). Prav tako lahkopreglasi opredeljeni v superrazredu. Razred v Javi nikoli ne more razširiti več kot enega superrazreda.Tukaj je prikaz abstraktnega predavanja:
paket MyPackage razred A {String s A (String s1) {s = s1} void display () {System.out.println (s)}} razred B razširja A {String l B (String s1, String s2) {super ( s1) l = s2} void display () {super.display () System.out.println (l)}} class ExtendsExample {public static void main (String args []) {A ob = novo B ('Dobrodošli', 'Za Edureko') ob.display ()}}
Izhod: Dobrodošli
Edureki
Pojasnilo: V zgornji kodi lahko opazite, da ima razred B razširjeni razred A, ima dostop do metode display () in je preglasil metodo display (), definirano v razredu A. Ta neizmerna moč se pojavi z uporabo ključne besede extends.
kako pretvoriti dvojnico v int javo
izvaja ključno besedo
Ko razredizvajaVmesnik mora zagotoviti izvajanje vseh metod, razglašenih znotraj vmesnik . Če razred ne želi zagotoviti izvedbe, se lahko prijavi kot abstraktni razred . Prav tako vmesnik nikoli ne more implementirati drugega vmesnika, saj imajo izvedbena sredstva, ki opredeljujejo metode in vmesnik, vedno abstraktne metode, zato vmesnik nikoli ne more implementirati drugega vmesnika.Tu je primer programa, ki prikazuje abstraktni razred:
paket MyPackage vmesnik 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 ('string value:' + s)}} class ImplementExample {public static void main (String args []) {XYZ d = new Demo () d.display ('TechDifferences') d .show (2)}}
Izhod:
niz vrednost: TechDifferences celo število vrednost: 2
V zgornji kodi lahko opazite, da je demo razredizvaja dve metodi, deklarirani v vmesniku XYZ.
Iz zgornje vsebine ste morda opazili ključno razliko med razširitvami in izvedbami v . Zdaj pa poglejmo še druge razlike.
se razteza vs izvaja
Spodnja tabela navaja ključne razlike med razširjenimi in izvedenimi besedami ključnih besed.
Primerjalne lastnosti | Razširja | Izvaja |
Izvajanje | Razred lahko podeduje drug razred ali vmesnik lahko podeduje druge vmesnike s ključno besedo extends | Razred lahko implementira vmesnik z uporabo ključnih besed |
Metoda | Podrazred, ki razširja nadrazred, lahko ali ne sme preglasiti vseh metod v superrazredu | Razred, ki izvaja vmesnik, mora izvajati vse metode tega vmesnika. |
Razred | Razred lahko razširi samo en superrazred. | Razred lahko istočasno implementira poljubno število vmesnikov |
Vmesnik kako ustvariti paket v javi | Vmesnik lahko razširi poljubno število vmesnikov | Vmesnik nikoli ne more implementirati nobenega drugega vmesnika |
No, zdaj ste ključne razlike med razširitvami in izvedbami v
S tem smo prišli do koncaextends vs implements v članku Java. Šli smo skozi glavne razlike med razširitvami in implementacijami ključnih besed. Za zaključek se oba uporabljata za izvajanje datotekeKoncept dedovanja Java, vendar na različne načine.
Poskrbite, da boste čim več vadili in si povrnili izkušnje.
Oglejte si Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu. Tu smo, da vam pomagamo pri vsakem koraku na poti, saj smo poleg tega vprašanja za java intervjuji pripravili učni načrt, ki je zasnovan za študente in strokovnjake, ki želijo biti razvijalec Java.
Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega 'extends vs implements in Java' in se vam bomo javili v najkrajšem možnem času.