Hvad er dynamisk binding i Java, og hvordan bruges det?



Dynamisk binding i java er et essentielt koncept, som enhver programmør skal være fortrolig med, da det løser forskellige realtidsproblemer.

Dynamisk binding er et vigtigt koncept, som enhver programmør skal være fortrolig med, da det løser forskellige realtidsproblemer. Følgende punkter vil blive dækket i denne artikel,

Dynamisk binding i java er et vigtigt begreb, som enhver programmør skal være fortrolig med.
For at forstå funktionen af ​​dynamisk binding skal vi være opmærksomme på en anden type binding, kendt som Statisk binding.





Fortsætter med denne artikel om dynamisk binding i Java

tcp-sokkelprogrammering i java

Statisk binding



Også kendt som Early Binding, det er en binding, der løses af compileren på kompileringstidspunktet.

Det skal bemærkes, at bindingen af ​​private, endelige og statiske metoder sker i kompileringstiden. Dette skyldes, at statisk binding giver en bedre ydelse. Compileren er opmærksom på, at disse metoder ikke kan tilsidesættes og altid tilgås af objektet fra den lokale klasse. Således bestemmes klassens genstand (lokal klasse) let af kompilatoren.

Eksempel:



offentlig klasse Hoved {offentlig statisk klasse superklasse {statisk tomrumsudskrivning () {System.out.println ('Dette er superklassen')}} offentlig statisk klasseunderklasse udvider superklasse {statisk tomrumsudskrivning () {System.out.println (' Dette er underklassen ')}} offentlig statisk ugyldig hoved (String [] args) {superklasse sup = ny superklasse () superklasse sub = ny underklasse () sup.print () sub.print ()}}

I eksemplet ovenfor er udskrivningsmetoden for superklasse statisk, og compileren er opmærksom på, at den ikke kan tilsidesættes i underklassen.
Kodens output er således som følger:

Produktion:
Dette er superklassen
Dette er superklassen

Fortsætter med denne artikel om dynamisk binding i Java

Dynamisk binding i Java

I denne type binding bestemmes ikke metoden, der skal kaldes, af compileren. Et passende eksempel på dynamisk binding er Overriding. Her har forældreklassen og barneklassen den samme metode.

tilsidesætte vs overbelastning c ++

Eksempel:

public class Hoved {public static class superclass {void print () {System.out.println ('This is superclass')}} public static class subclass extends superclass {@Override ugyldigt print () {System.out.println ('This er underklasse ')}} offentlig statisk ugyldig hoved (String [] args) {superklasse sup = ny superklasse () superklasse sub = ny underklasse () sup.print () sub.print ()}}

Produktion:

I eksemplet ovenfor er compileren uvidende om det tryk, der skal kaldes. Compileren fungerer ved at henvise til variabler og ikke efter typen af ​​objekter. På grund af dette udsættes binding til runtime.
Dette er superklasse
Dette er underklasse

Fortsætter med denne artikel om dynamisk binding i Java

Forskel mellem statisk og dynamisk binding

α Den statiske binding bruges af private, statiske og endelige medlemmer. For de virtuelle metoder i Java udføres binding ved kørselstid i overensstemmelse med kørselstidsobjektet.
α Mens statisk binding bruger typeinformation, bruger dynamisk binding objekter til binding.
α Statisk understøtter overbelastning, mens dynamisk binding understøtter overstyring.

Således er vi nået til slutningen af ​​denne artikel om 'Dynamic Binding In Java'. Hvis du ønsker at lære mere, skal du tjekke af Edureka, et pålideligt online læringsfirma. Edurekas Java J2EE- og SOA-uddannelses- og certificeringskursus er designet til at træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.

Har du et spørgsmål til os? Nævn det i kommentarsektionen på denne blog, og vi vender tilbage til dig hurtigst muligt.