Co je dynamická vazba v Javě a jak ji používat?



Dynamická vazba v jazyce Java je základní koncept, který musí každý programátor znát, protože řeší různé problémy v reálném čase.

Dynamická vazba v je základní koncept, který musí každý programátor znát, protože řeší různé problémy v reálném čase. V tomto článku se budeme zabývat následujícími ukazateli,

Dynamická vazba v Javě je základní koncept, který musí každý programátor znát.
Abychom pochopili fungování dynamické vazby, musíme si být vědomi jiného typu vazby, známého jako statická vazba.





Pokračujeme tímto článkem o dynamické vazbě v Javě

co dělá system.exit (0) v Javě

Statická vazba



Také známý jako Early Binding, je to vazba, která je kompilátorem vyřešena v době kompilace.

Je třeba poznamenat, že vazba soukromých, konečných a statických metod se provádí během kompilace. To je způsobeno skutečností, že statická vazba poskytuje lepší výkon. Kompilátor si je vědom, že tyto metody nelze přepsat a vždy k nim přistupuje objekt místní třídy. Objekt třídy (místní třída) je tedy snadno určen kompilátorem.

Příklad:



public class Main {public static class superclass {static void print () {System.out.println ('This is the superclass')}} public static class subclass extends superclass {static void print () {System.out.println (' Toto je podtřída ')}} public static void main (String [] args) {superclass sup = new superclass () superclass sub = new subclass () sup.print () sub.print ()}}

V příkladu uvedeném výše je metoda tisku nadtřídy statická a kompilátor si je vědom, že ji nelze v podtřídě přepsat.
Výstup kódu je tedy následující:

ssis tutorial krok za krokem

Výstup:
Toto je nadtřída
Toto je nadtřída

Pokračujeme tímto článkem o dynamické vazbě v Javě

Dynamická vazba v Javě

V tomto typu vazby kompilátor nerozhoduje o metodě, která má být volána. Vhodným příkladem pro dynamickou vazbu je Overriding. Zde mateřská třída a podřízená třída mají stejnou metodu.

Příklad:

public class Main {public static class superclass {void print () {System.out.println ('This is superclass')}} public static class subclass extends superclass {@Override void print () {System.out.println ('This is subclass ')}} public static void main (String [] args) {superclass sup = new superclass () superclass sub = new subclass () sup.print () sub.print ()}}

Výstup:

V příkladu uvedeném výše kompilátor neví o tisku, který má být volán. Kompilátor pracuje odkazováním na proměnné, nikoli podle typu objektů. Z tohoto důvodu je vazba odložena za běhu.
To je nadtřída
Toto je podtřída

Pokračujeme tímto článkem o dynamické vazbě v Javě

Rozdíl mezi statickou a dynamickou vazbou

java analyzovat řetězec k dnešnímu dni

α Statická vazba je používána soukromými, statickými a konečnými členy. U virtuálních metod v Javě se vazba provádí za běhu v souladu s objektem běhu.
α Zatímco statická vazba používá informace o typu, dynamická vazba využívá pro vazbu objekty.
α Static podporuje přetížení, zatímco Dynamic Binding podporuje Overriding.

Tak jsme dospěli ke konci tohoto článku o „Dynamické vazbě v Javě“. Pokud se chcete dozvědět více, podívejte se na Edureka, důvěryhodná online vzdělávací společnost. Školicí a certifikační kurz Edureka Java J2EE a SOA je navržen tak, aby vás vyškolil jak pro základní, tak pro pokročilé koncepty Java spolu s různými rámci Java jako Hibernate & Spring.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto blogu a my se vám ozveme co nejdříve.