Erläutere den Begriff Zuweisungskompabilität
Einer Referenzvariable vom Typ einer Vaterklasse kann auch eine Referenzvariable vom Typ einer Sohnklasse zugeordent werden:
Object ref = new Buch();
Medium ref = new Buch();
Erläutere für den Fall einer überschriebenen Methode, welche Rolle der Typ einer Referenzvariable und welche Rolle der Typ eines Objektes spielt
Der Typ der Referenzvariable legt fest, welche Methoden überhaupt aufgerufen werden können und der Typ eines Objektes bestimmt im Falle des Überschreibens welche Methodenimplementierung ausgeführt wird.
Welche Möglichkeiten gibt es in Java mit einer Exception umzugehen?
Exception direkt an Ort und Stelle abfangen und behandeln
Exception an ausführendes Programm weiterleiten
Exception auffangen und mit spezifischer Meldung an aufrufendes Programm weiterleiten
Was ist der Unterschied zwischen checked Exceptions und unchecked Exceptions?
Checked Exceptions (geplante Ausnahmen) muss vom Programmierer behandelt werden. Compiler prüft, ob entsprechende Ausnahmebehandlung exisiert.
Unchecked Exceptions (wirkliche Fehler) muss nicht vom Programmierer behandelt werden, Compiler prüft auch nicht ob entsprechende Ausnahmebehandlung vorliegt.
Warum gibt es in Java einen Schnittstellentyp?
Stabile Schnittstellen sind für den Entwurf von Softwaresystemen von zentraler Bedeutung.
Wird die Aufrufschnittstelle verändert, so müssen auch alle anderen Programmteile daraufhin angepasst werden. Da Software eine leichte Änderbarkeit suggeriert, so soll durch die Einführung eines Schnittstellentyps explizit sichtbar gemacht werden, dass Änderungen an einem Schnittstellentyp auch Änderungen an allen Programmteilen mit sich ziehen, die diese Schnittstelle verwenden.
Kann man Referenzvariablen von einem Schnittstellentyp anlegen?
Eine Referenzvariable ist nur ein Zeiger, daher ist es erlaubt Referenzvariablen von Schnittstellentypen anzulegen, die auf Objekte zeigen und deren Klassen die Schnittstelle implementieren. Über die Referenzvariablen sind dann nur die Methoden des Objektes sichtbar die zur Schnittstelle gehören. Damit kann ein Objekt in unterschiedlichen Gestalten auftreten.
Was passiert wenn nicht alle Methoden einer Schnittstelle implementiert werden? Warum kann dies sinnvoll sein?
Implementiert eine Klasse nicht alle oder keine Methoden einer Schnittstelle, so muss die Klasse abstract werden. Das heisst die Klasse wird nicht vollständig implementiert und von ihr können keine Objekte angelegt werden.
Es kann sinnvoll sein, wenn man die Implementierung gewisser Methoden erst in der Kindklasse abschliesst.
Last changed4 days ago