dynamische bindung - Typsystem :?:

Status
Nicht offen für weitere Antworten.

xole_X

Mitglied
Hallo,
ich weiss nicht, ob ich in der richtigen Kategorie gelandet bin. Naja es geht eher um eine theoretisch Frage.
In meinem Skript steht, der Typ eines Objektes ist dynamisch gebunden bei Java. Was hab ich darunter zu verstehen? Dynamisch bedeutet doch zur Laufzeit oder, aber ist denn genau gemeint damit und was fürn unterschied macht es zur statischen Bindung?

hoffe mir kann jemand helfen...kenn mich noch net so gut aus, java ist auch meine erste programmiersprache.

vielen dank schonmal
 
S

SlaterB

Gast
Auto a = new Mercedes();

a hat den statischen Typ Auto, von dem Object in a kann man nur wissen, dass es ein Auto oder eine dessen Unterklassen ist,

das Objekt ist und bleibt aber ein Mercedes und wird zur Laufzeit auch das Mercedes-Verhalten an den Tag legen,
denn wenn man eine Operation aufruft, dann findet Java schon raus, welcher Typ tatsächlich vorliegt, und ruft die Operation der Unterklasse auf

das ist eigentlich so selbstverständlich in OO, dass man das gar nicht groß 'dynamisch binden' nennen müsste,
Standardverhalten
 
G

Guest

Gast
Statische Bindung bedeutet, einfach ausgedrückt, dass die eingesetzten Typen bereits zur Compilierzeit bekannt sind.
Bei dynamischer Bindung werden diese erst zur Laufzeit geladen/bekannt.
z.B.
Code:
// statisch
Auto auto = new Mercedes();


// dynamisch
Class<? extends Auto> mercedesClass = Class<? extends Auto>.forName("wo.auch.immer.Mercedes");
Auto auto = mercedesClass.newInstance();
 

xole_X

Mitglied
OK vielen dank.
hab noch ne kleine nebenfrage...

ich kann auf auto jetzt nicht alle Methoden von Mercedes benutzen oder? Also wenn ein Mercedes die Methode Sitzheizung hat, jedoch die Superklasse Auto nicht, dann geht auch die Sitzheizung nicht oder?

aber wenn die Klasse Auto,die Methode Fahren(); hat und ne Geschwindigkeit von 50kmh darin implementiert ist und im Mercedes ebenfalls die Methode Fahren() implementiert ist, jedoch mit 100kmh, dann fährt das Auto doch die 100kmh oder?
 
G

Gelöschtes Mitglied 5909

Gast
überschriebene sachen werden verwendet, du kannst die zusätzlichen methoden ohne casten aber nicht verwenden

alternativ könntest du auch ein interface Superduperextras implementieren und mit instanceof prüfen ob das auto die Superduperextras hat... (instanceof(Mercedes) geht natürlich auch)
 

tfa

Top Contributor
Anonymous hat gesagt.:
Statische Bindung bedeutet, einfach ausgedrückt, dass die eingesetzten Typen bereits zur Compilierzeit bekannt sind.
Bei dynamischer Bindung werden diese erst zur Laufzeit geladen/bekannt.
Nein. Statische/dynamische Bindung hat nichts mit Reflection zu tun. Siehe oben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ernesto95 HTTP Mit JavaScript erzeugte dynamische Webseite auslesen und nach einem Schlüsselwort durchsuchen Allgemeine Java-Themen 6
districon Rekursion und Dynamische Programmierung Allgemeine Java-Themen 2
hello_autumn Statistische/dynamische Tests Allgemeine Java-Themen 10
E Socket Dynamische Klasse von ObjectOutputStream lesen. Allgemeine Java-Themen 8
P Erste Schritte Dynamische Anzahl von verschachtelten Schleifen Allgemeine Java-Themen 5
J Dynamische Rückgabewerte Allgemeine Java-Themen 2
K Dynamische Webseiten auslesen Allgemeine Java-Themen 6
S Variablen Dynamische Arrays Allgemeine Java-Themen 2
N Dynamische Objekte / DB Allgemeine Java-Themen 5
B dynamische Java Slideshow Allgemeine Java-Themen 4
SuperSeppel13 Dynamische Bibliotheken einbinden Allgemeine Java-Themen 16
B Script Problem "Dynamische Datenstruktur" Allgemeine Java-Themen 13
A Dynamische PDF Erstellung mit iText Allgemeine Java-Themen 4
ModellbahnerTT Dynamische Programmierung, komme nicht weiter.... Allgemeine Java-Themen 15
C dynamische imports? Allgemeine Java-Themen 13
hdi dynamische return-Werte Allgemeine Java-Themen 15
M JUnit und dynamische Tests Allgemeine Java-Themen 11
C dynamische variablen Namen! Allgemeine Java-Themen 4
D dynamische Objekte erzeugen? Allgemeine Java-Themen 16
G eigener logger mittels classe (dynamische logfilename) log4j Allgemeine Java-Themen 15
R Dynamische Sorten-Prüfung? Allgemeine Java-Themen 8
F dynamische ArrayListen? Allgemeine Java-Themen 8
C kann man dynamische variablen namen vergeben? Allgemeine Java-Themen 2
H "dynamische Ladegrafik" Allgemeine Java-Themen 2
C Dynamische Varibalen Allgemeine Java-Themen 3
C dynamische Vererbung Allgemeine Java-Themen 6
Z daten bindung Allgemeine Java-Themen 1
J Bindung logische Operatoren Allgemeine Java-Themen 4
G Frühe Bindung in Java ? Allgemeine Java-Themen 19

Ähnliche Java Themen

Neue Themen


Oben