Što je dinamičko vezanje u Javi i kako ga koristiti?

Dinamičko vezanje u javi važan je koncept s kojim svaki programer mora biti upoznat jer rješava različite probleme u stvarnom vremenu.

Dinamičko vezanje u je bitan koncept s kojim svaki programer mora biti upoznat jer rješava različite probleme u stvarnom vremenu. U ovom će članku biti obrađeni sljedeći putokazi,

Dinamičko vezanje u javi važan je pojam koji svaki programer mora poznavati.
Da bismo razumjeli rad dinamičkog povezivanja, moramo biti svjesni druge vrste vezivanja, poznate kao statičko vezivanje.





Nastavljamo s ovim člankom o Dynamic Binding u Javi

Statično vezanje



Također poznato i kao Early Binding (Rano povezivanje), to je povezivanje koje rješava kompajler u vrijeme sastavljanja.

Treba napomenuti da se vezivanje privatnih, konačnih i statičkih metoda vrši tijekom vremena kompajliranja. To je zbog činjenice da statičko vezivanje pruža bolje performanse. Prevoditelj je svjestan da se ove metode ne mogu nadjačati i uvijek im pristupa objekt lokalne klase. Dakle, prevodilac lako određuje objekt klase (lokalna klasa).

Primjer:



javna klasa Glavna {javna statička klasa superklasa {static void print () {System.out.println ('Ovo je superklasa')}} javna statička podklasa klase proširuje superklasu {static void print () {System.out.println (' Ovo je podklasa ')}} javna statička void glavna (String [] args) {superclass sup = new superclass () superclass sub = new subclass () sup.print () sub.print ()}}

U gore navedenom primjeru, metoda ispisa superklase je statična i sastavljač je svjestan da se u potklasi ne može nadjačati.
Dakle, izlaz koda je sljedeći:

rekurzija fibonaci c ++

Izlaz:
Ovo je superrazred
Ovo je superrazred

Nastavljamo s ovim člankom o Dynamic Binding u Javi

Dinamičko povezivanje u Javi

U ovoj vrsti vezanja, prevodilac ne odlučuje o metodi koja će se pozivati. Odgovarajući primjer za dinamičko vezanje je Nadjačavanje. Ovdje roditeljski razred i dječji razred imaju istu metodu.

Primjer:

javna klasa Glavna {javna statička klasa superklasa {void print () {System.out.println ('Ovo je superklasa')}} javna statička klasa klase proširuje superklasu {@Override void print () {System.out.println ('This je podrazred ')}} javna statička praznina main (String [] args) {superclass sup = new superclass () superclass sub = new subclass () sup.print () sub.print ()}}

Izlaz:

U gore navedenom primjeru, sastavljač nije svjestan ispisa koji treba pozvati. Prevoditelj radi referencirajući varijable, a ne prema vrsti objekata. Zbog toga se vezanje odgađa za vrijeme izvođenja.
Ovo je superrazred
Ovo je podrazred

Nastavljamo s ovim člankom o Dynamic Binding u Javi

Razlika između statičkog i dinamičkog povezivanja

α Statičko vezanje koriste privatni, statički i konačni članovi. Za virtualne metode u Javi vezivanje se vrši u vrijeme izvođenja u skladu s objektom vremena izvođenja.
α Dok statično vezivanje koristi informacije o tipu, dinamičko vezivanje koristi objekte za vezivanje.
α Static podržava preopterećenje, dok Dynamic Binding podržava prenamjenu.

Tako smo došli do kraja ovog članka o ‘Dinamičkom vezivanju u Javi’. Ako želite saznati više, pogledajte Edureka, pouzdane tvrtke za internetsko učenje. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA osmišljen je kako bi vas osposobio za osnovne i napredne Java koncepte, zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga i javit ćemo vam se što je prije moguće.