aufgabe

H

Heyoka955

Gast
ich habe eine ähnliche frage gestellt und ich dachte ich hätte es verstanden aber eben saß ich an einer ähnlichen aufgabe und ich habe das codiertt auch aber leider versteh ich nicht wieso die aufgabe 5.c Lebewesen und Lebewesen zwei an einem unbekannten platz printet?

müsste er nicht mensch und Tier im haus printen? ich versteh nicht das hätte doch überschrieben werden müssen?
 

Anhänge

  • Schoettner_Info1_WS1415_HK (1).pdf
    205 KB · Aufrufe: 10

httpdigest

Top Contributor
H

Heyoka955

Gast
In dieser Aufgabe überschreibt keine der Klassen die aufhalten(...) Methode einer Oberklasse, da die Parametertypen nicht exakt identisch sind. Methoden überschreiben nur Oberklassen-Methoden, wenn der Name exakt identisch ist und die Parametertypen identisch sind (wenn wir mal Generics außen vor lassen).

Referenzen:
- https://docs.oracle.com/javase/specs/jls/se11/html/jls-8.html#jls-8.4.8.1
- https://docs.oracle.com/javase/specs/jls/se11/html/jls-8.html#jls-8.4.2
also bei der 3c wird nicht überschrieben weil die paramter unterschiedlich sind aber das macht kein sinn bzw ich versteeh das nicht. Es existiert eine Instanz vom typ haus wo ein mensch und Tier übergeben wird, da muss man doch auotmatisch dann die Methode in haus ausgeben anstatt die Methode der Oberklasse?
 

httpdigest

Top Contributor
also bei der 3c wird nicht überschrieben weil die paramter unterschiedlich sind aber das macht kein sinn bzw ich versteeh das nicht. Es existiert eine Instanz vom typ haus wo ein mensch und Tier übergeben wird, da muss man doch auotmatisch dann die Methode in haus ausgeben anstatt die Methode der Oberklasse?
Wieso bist du jetzt plötzlich bei Aufgabe 3c?? Was hat die denn damit zu tun? Egal, ich nehme mal an, du meintest 5c.
Hier ist wieder der statische Typ des Ausdrucks interessant, auf dem letztlich die Methode aufgerufen wird - also die Variable `Platz platz`. Der ist Platz. Das heißt, der Compiler selektiert erstmal die Methode `aufhalten(Lebewesen, Lebewesen)`, weil die zum Zeitpunkt der Compilierung am besten auf die statischen Typen der Argumente passt - und sie ist ja auch die einzige Methode in Platz. Zur Laufzeit dann versucht die JVM ja durch das Dynamic Dispatch anhand des Laufzeittyps, der Haus ist, eine überschriebene Methode mit dieser Signatur zu finden. Diese existiert nicht. Somit wird die aufhalten-Methode in Platz aufgerufen. Fertig aus.
 
H

Heyoka955

Gast
Wieso bist du jetzt plötzlich bei Aufgabe 3c?? Was hat die denn damit zu tun? Egal, ich nehme mal an, du meintest 5c.
Hier ist wieder der statische Typ des Ausdrucks interessant, auf dem letztlich die Methode aufgerufen wird - also die Variable `Platz platz`. Der ist Platz. Das heißt, der Compiler selektiert erstmal die Methode `aufhalten(Lebewesen, Lebewesen)`, weil die zum Zeitpunkt der Compilierung am besten auf die statischen Typen der Argumente passt - und sie ist ja auch die einzige Methode in Platz. Zur Laufzeit dann versucht die JVM ja durch das Dynamic Dispatch anhand des Laufzeittyps, der Haus ist, eine überschriebene Methode mit dieser Signatur zu finden. Diese existiert nicht. Somit wird die aufhalten-Methode in Platz aufgerufen. Fertig aus.
aber die exisitert doch in dem falle? wir haben doch einen mensch und Tier übergeben und kein Lebewesen? wir haben genau das übergeben was in der Methode von haus als paramter gefordert war? wieso kriegt es jvm nicht hin ?
 

httpdigest

Top Contributor
Sag mal, liest du eigentlich, was ich schreibe?
1. Die Auflösung, welche Methode mit welcher Signatur (Name + Parametertypen) die JVM aufrufen wird, wird zur Compilezeit festgelegt. In diesem Fall ist das `aufhalten(Lebewesen, Lebewesen)`. Das ist Fakt. Es wird nur noch jemals eine `aufhalten(Lebewesen, Lebewesen)` Methode aufgerufen werden.
2. Zur Laufzeit wird nur noch geprüft, ob es in dem Laufzeittyp (also Haus) eine überschriebene Methode mit exakt dieser Signatur gibt, also `aufhalten(Lebewesen, Lebewesen)`. Nein, gibt es nicht.
3. Es ist völlig irrelevant, ob es in dem Laufzeittyp eine passende Methode gäbe, da der Compiler den Laufzeittyp nicht kennt, nur den Compilezeittyp.
 
H

Heyoka955

Gast
Sag mal, liest du eigentlich, was ich schreibe?
1. Die Auflösung, welche Methode mit welcher Signatur (Name + Parametertypen) die JVM aufrufen wird, wird zur Compilezeit festgelegt. In diesem Fall ist das `aufhalten(Lebewesen, Lebewesen)`. Das ist Fakt. Es wird nur noch jemals eine `aufhalten(Lebewesen, Lebewesen)` Methode aufgerufen werden.
2. Zur Laufzeit wird nur noch geprüft, ob es in dem Laufzeittyp (also Haus) eine überschriebene Methode mit exakt dieser Signatur gibt, also `aufhalten(Lebewesen, Lebewesen)`. Nein, gibt es nicht.
3. Es ist völlig irrelevant, ob es in dem Laufzeittyp eine passende Methode gäbe, da der Compiler den Laufzeittyp nicht kennt, nur den Compilezeittyp.
verstehe danke, habe es verstanden. solche sachen wurden in der vl nicht besprochen leider.
das sind so sachen, wo man über den Tellerand hinauschauen muss.
 

httpdigest

Top Contributor
Naja, du studierst an einer Universität. Selbstverständlich wird dort erwartet, wenn nicht sogar zwingend vorausgesetzt, dass man sich hauptsächlich selbst Material besorgt, dies durcharbeitet und sich eingehend informiert.
 
H

Heyoka955

Gast
Naja, du studierst an einer Universität. Selbstverständlich wird dort erwartet, wenn nicht sogar zwingend vorausgesetzt, dass man sich hauptsächlich selbst Material besorgt, dies durcharbeitet und sich eingehend informiert.
deswegen bin ich hier.
mittlerrweile entwickelt sich eine liebe fürs programmieren.
Programmieren bockt übelst aber das Problem ist dass wenn man die aufgaben nicht versteht man frustriert ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Jere58 Aufgabe zu Mustern Java Basics - Anfänger-Themen 1
M Interfaces Aufgabe Java Basics - Anfänger-Themen 2
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
Justin4687 Benötige Hilfe bei folgender Aufgabe Java Basics - Anfänger-Themen 2
A Erste Schritte Aufgabe mit while Schleife Java Basics - Anfänger-Themen 11
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
M Java Programmierung Aufgabe Anfänger Java Basics - Anfänger-Themen 1
R Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
Mikejr Java Berg aufgabe Java Basics - Anfänger-Themen 6
frager2345 Aufgabe Hash Objekt Elemente ausgeben Java Basics - Anfänger-Themen 2
berserkerdq2 Habe ich die Aufgabe richtig gelöst? Java Basics - Anfänger-Themen 3
D Hilfe bei einer Aufgabe mit for-Schleife Java Basics - Anfänger-Themen 6
Neuling47 Ich zerbreche mit den kopf an einer Aufgabe Java Basics - Anfänger-Themen 61
G Fragen zu Kompelierfehler in Aufgabe. Java Basics - Anfänger-Themen 25
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
M Verständins Problem bei Aufgabe Java Basics - Anfänger-Themen 4
T Informatik Studium Aufgabe Java Basics - Anfänger-Themen 4
T Aufgabe Informatik Studium Java Basics - Anfänger-Themen 10
I matrix aufgabe Java Basics - Anfänger-Themen 22
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
9 Aufgabe Bruttorechner Java Basics - Anfänger-Themen 14
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
J boolean aufgabe Java Basics - Anfänger-Themen 9
D Snake-Spiel ähnliche Aufgabe Hilfe Java Basics - Anfänger-Themen 3
M Hilfe - Array Aufgabe Java Basics - Anfänger-Themen 8
StevenGG Aufgabe im Studium Java Basics - Anfänger-Themen 36
G Strings auf Gleichheit prüfen - Aufgabe vom Prof. Java Basics - Anfänger-Themen 5
S Schulaufgabe - verstehe leider die Aufgabe nicht Java Basics - Anfänger-Themen 4
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
R Eclipse Aufgabe Java Basics - Anfänger-Themen 4
J OOP-Aufgabe Java Basics - Anfänger-Themen 15
Helix19 Informatik Grundkurs (Haus-)Aufgabe Java Basics - Anfänger-Themen 5
P eine kleine Aufgabe mit Audio Java Basics - Anfänger-Themen 1
TimoN11 Verständnisfrage bei Aufgabe Java Basics - Anfänger-Themen 2
TimoN11 Java spezielle Suchprobleme - Aufgabe Java Basics - Anfänger-Themen 5
M Könnte mir jemand diese Aufgabe erklären? Java Basics - Anfänger-Themen 2
M Könnte mir jemand diese Aufgabe erklären? Java Basics - Anfänger-Themen 9
dieter000 Aufgabe Hilfe Java Basics - Anfänger-Themen 18
jonathanpizza Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
Q Hilfe auf Aufgabe(Matrixmultiplikation) Java Basics - Anfänger-Themen 1
jonathanpizza Hilfe bei der Aufgabe Java Basics - Anfänger-Themen 19
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
C Rechnungen-Aufgabe Java Basics - Anfänger-Themen 18
C Biene-Aufgabe Java Basics - Anfänger-Themen 2
K Algorithmen und Datenstrukturen Programmier Aufgabe Java Basics - Anfänger-Themen 10
M Verständnisfrage zu eine Online Aufgabe Java Basics - Anfänger-Themen 7
T Aufgabe Flussdiagramm, kann jemand checken? Java Basics - Anfänger-Themen 8
B Methoden Ausgeben Aufgabe Java Basics - Anfänger-Themen 15
M Lösung Aufgabe - Java Programmiren lernen für Dummies Java Basics - Anfänger-Themen 11
J Rekursion Klausur Aufgabe Java Basics - Anfänger-Themen 2
J Exception-Aufgabe Java Basics - Anfänger-Themen 8
I Methoden char Array Aufgabe (bitte hierbei um Hilfe) Java Basics - Anfänger-Themen 3
F Aufgabe: Abstand von einem Punkt zu einem anderen Punkt Java Basics - Anfänger-Themen 10
T Aufgabe zum Verschlüsselungsalgorithmus Java Basics - Anfänger-Themen 11
J Erste Schritte Aufgabe Java Basics - Anfänger-Themen 24
T Methoden BinaryTree transformieren Aufgabe Java Basics - Anfänger-Themen 36
J Brauche Hilfe bei einer aufgabe Java Basics - Anfänger-Themen 1
J Hat jemand einen Lösungsansatz für diese Aufgabe? Java Basics - Anfänger-Themen 1
S Sortieralgorithmus - Aufgabe mit Lösungsidee Java Basics - Anfänger-Themen 20
A Aufgabe: Gleitkommazahlen Java Basics - Anfänger-Themen 3
A Java-Programmierungs Aufgabe Java Basics - Anfänger-Themen 2
U Aufgabe zu Kontrollstrukturen Java Basics - Anfänger-Themen 8
G Probleme bei Aufgabe Java Basics - Anfänger-Themen 12
J Aufgabe als Feuertaufe Java Basics - Anfänger-Themen 8
S Unbedingte hilfe bei Java Aufgabe [Schleife / Zinsrechnung] Java Basics - Anfänger-Themen 14
J Hilfe bei Java Aufgabe (Restschuld berechnen) Java Basics - Anfänger-Themen 11
G Ratlosigkeit zur Aufgabe im Anhang (boolean, equals.) Java Basics - Anfänger-Themen 20
S Hilfe bei Java Aufgabe (Schleifen) Java Basics - Anfänger-Themen 25
B Probleme bei einer Aufgabe Java Basics - Anfänger-Themen 19
B BITTE!! Ich brauche dringende Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 17
H aufgabe 4 Java Basics - Anfänger-Themen 297
M Hilfe bei Projektorientierungs-Aufgabe !! Java Basics - Anfänger-Themen 3
J Java Starthilfe Verständnisfrage Aufgabe Java Basics - Anfänger-Themen 2
H java aufgabe Java Basics - Anfänger-Themen 7
E Mathematische Aufgabe: Antwort entspricht nicht der Lösung Java Basics - Anfänger-Themen 5
H was verlangt die aufgabe ? Java Basics - Anfänger-Themen 10
H java aufgabe Java Basics - Anfänger-Themen 68
H java aufgabe Java Basics - Anfänger-Themen 25
H aufgabe java luhn algorithmus Java Basics - Anfänger-Themen 10
R Java Aufgabe (Teilbarkeit) Java Basics - Anfänger-Themen 7
H java aufgabe Java Basics - Anfänger-Themen 44
H java aufgabe Java Basics - Anfänger-Themen 7
H java string aufgabe Java Basics - Anfänger-Themen 10
H array aufgabe Java Basics - Anfänger-Themen 13
D Erste Schritte Lösen dieser Aufgabe, Hilfe! Java Basics - Anfänger-Themen 12
H lösung aufgabe Java Basics - Anfänger-Themen 12
S Hilfe für Aufgabe Java Basics - Anfänger-Themen 4
H java online aufgabe Java Basics - Anfänger-Themen 4
H Array aufgabe Java Basics - Anfänger-Themen 7
H oop aufgabe probe kalusur Java Basics - Anfänger-Themen 11
H oop aufgabe Java Basics - Anfänger-Themen 19
H JAVA AUFGABE Java Basics - Anfänger-Themen 7
W Thread Aufgabe - Vorgehensweise Java Basics - Anfänger-Themen 8
J Problem bei Aufgabe "Geldstückelung" Java Basics - Anfänger-Themen 5
P Problem bei Java-Aufgabe Java Basics - Anfänger-Themen 12
B Verständnis Frage zu der Aufgabe Java Basics - Anfänger-Themen 30
L Klassen Geldrückgabe - Aufgabe Programmieren Java Basics - Anfänger-Themen 23

Ähnliche Java Themen

Neue Themen


Oben