Wie werden Kommentare bei Java eingeleitet?
// der Kommentar wird bis Zeilenende gezählt
// Hat ein Kommentar mehrere Zeilen, muss jede neue Zeile wieder mit “//” beginnen.
Wenn der == Operator zu ungenau und die equals()-Methode zu aufwendig ist, welche alternative Methode kann eingesetzt werden?
hasCode()- Methode
Was ist der Zweck von Java-Annotationen?
Damit gewisse Aussagen mit dem Java-Compiler überprüft werden können.
Was bezwecken Code-Konventionen?
Sie stellen Regeln auf, die das Lesen und Verstehen von Quelltext vereinfachen sollen.
Welche Konventionen gelten bei der Benennung von Code?
Paketnamen werden stets klein geschrieben.
Klassen und Interfaces werden als Nomen benannt und stets am Anfang groß geschrieben. Besteht der Name aus mehreren Wörtern wird alles zusammen geschrieben, nur der Anfangsbuchstabe von jedem Wort wird groß geschrieben.
Klassenkonstanten werden komplett großgeschrieben und Wörter mit Unterstrich voneinander getrennt.
Methodennamen sind möglichst immer Verben.
Attribute und Vaiablen sollen sinnvoll benannt sein, sodass sich aus dem Namen bereits eine Beschreibung des Inhalts schließen lässt.
Benenne die Rheienfolgekonvention bei der Angabe von Klassenelementen.
Paketdeklaration
Importe (alphabetisch sortiert)
Klassenvariablen und Konstanten
Instanzvariablen
Konstruktoren
Getter und Setter
weitere Methoden.
Benenne die Konventionen bei der Setzung von Leerzeilen und Leerzeichen
Leerzeilen teilen den Quelltext in sinvolle Abschnitte.
Leerzeichen helfen dabei, die Bestandteile einer Anweisung in einer Codezeile auf einen Blick zu unterscheiden.
Warum ist der Programmierstil wichtig?
Er wirkt sich auf die Leesbarkeit, Verständlichkeit und Wartung des Quellcode aus.
Was ist eine Annotation?
Eine Meta-Information zu Quellcode, die vom Java-Compiler programmatisch ausgewertet werden kann.
Wie beginnt eine Annotation?
@-Zeichen
Was sind die zwei häufigsten Annotationen?
@Override
kennzeichnet Methoden, die überschrieben wurden. Wurde Sie nicht übrschrieben, bricht der Copiler mit einem Fehler ab.
@Deprecated
kennzeichnet veraltete Klassen, Attribute und Methoden, die im neuen Code nicht mehr verwendet werden sollen.
Wie werden mehrzeilige Kommentare am Besten eingeleitet/ eingefasst?
/*
*Kommentar
* ….
*/
Wann werden geklammerte /* */ Kommentare meistens verwendet?
Bei längeren Erklärungen im Text.
Was wird in Klassenkommentaren beschrieben?
Zweck einer Klasse
Unter welchen Umständen wird sie verwendet
Was muss bei der Vererbung beachtet werden
Was sagen Attrributkommentare aus?
Beschreibung eines Attributs.
Was ist der Zweck von Methodenkommentaren?
Zweck der Methode
Bedeutung der Parameter
Was wird unter welchen Voraussetzungen zurück gegeben
Was ist Javadoc und wofür wird es verwendet?
Externes Programm welches aus speziell geschriebenen Kommentaren, eine Dokumentation erstellt.
Der Kommentar wird mit /** eingeleitet und */ beendet.
Welche Javadoc Tags gibt es und was beschreiben Sie?
@param wird für die Beschreibung eines Methoden-Parameters verwendet. Für jeden Parameter wird ein eigenes @param-Schlüsselwort verwendet.
@return wird verwendet, um zu beschreiben, was die Methode unter welchen Umständen zurückgibt.
@throws führt mögliche Fehlerquellen auf und die Exceptions, die dabei geworfen werden. Pro möglicher Exceptions wird ein @throws verwendet.
Aus welchem Grund werden Kommentare im Quellcode verwendet?
Den Sinn und Zweck von Codezeilen direkt an Ort und Stelle zu dokumentieren und zu beschreiben.
Was sind Meta-Informationen?
Zusätzliche Details zum Quellcode, die Aussagen über den Code machen.
toString() Methode was löst sie aus?
Ausgabe von beliebigen Objektinhalten als Zeichenkette.
Wofür ist toString() gut und wie wird sie Programmiert?
Es dient der Auslagerung der Konsolenausgabe in eine separate Methode.
Die Methode to String wird in der Klasse selbst definiert. Also was und wie etwas beim Aufruf dieser Methode in der Konsole herausgegeben wird.
Welcher Operator ruft indirekt toString() auf?
+
Bsp:
Objekt o= New Kunde (…);
System.out.println(“ In der Main Methode: ” + o);
== Operator was macht er?
Objekte werden mit dem == Operator hinsichtlich ihrer Identität, nicht hinsichtlich ihres Inhalts verglichen.
Welche Methode dient dem Inhaltlichen Vergleich von Objekten?
equals()
Was liefert die Methode equals() als Ergebnis?
Einen Wahrheitswert (true, false)
Was wird vor dem eigentlichen Vergleich von Inhalten zweier Objete geprüft werden?
Haben die beiden Objekte die gleichen Referenzen? If(this == obl)
Handelt es sich wirklich um zwei Objekte der gleichen Klasse? If(obj instanceof Kunde)
Anschließend können die Inhalte miteinander verglichen werden.
Was bildet den Abschluss von der equals() Methode?
Return super.equals(obj)
Welche Anforderungen sollten beim Implementieren der equals() Methode beachtet werden?
Reflexiv: Wird in der Methode dasselbe Objekt verglichen , muss dass Ergebnis immer ‘true’ sein. X.equals(x) == true
Symetrisch: Es ist egal in welche Richtung der Vergleich stattfindet, das Ergebnis muss immer gleich sein. X.equals(y) oder y.equals(x)
Transitiv: Wenn ein Objekt mit jeweils zwei anderen Objekten identisch ist, dann sind die anderen beiden auch Identisch
Konsistent: solange die Attribute unverändert bleiben, liefert eine Vergleichsoperation stets das gleiche Ergebnis.
Existent: Wenn ein zu vergleichendes Objekt nicht existiert, dann wird der Vergleich immer zu falten ausgewertet.
Was ist die Aufgabe der hashCode()-Methode?
Einen möglichst eindeutigen Schlüssel, den hashCode() für ein Objekt zu erzeugen, anhanddessen man die Objekte miteinander Vergleichen kann.
Wie nennt man den Vorgang, bei dem ein hashCode() für ein Objetkt erzeugt wird?
Hashing
Wie wird ein HashCode() erzeugt?
Jeder Buchstabe wird mit einer stets unterschiedlich potenzierten Primzahl multipliziert. Die Summe dieser Produkte ergibt den hashCode().
Was muss bei der eigenen Implementierung der hashCode() Methode beachtet werden?
Die Methode muss stabil sein. Inhaltlich gleiche Objekte sollten immer den gleichen hashCode() erzeugen.
Die Berechnung muss zur equals()- Methode passen. Es muss die gleichen Attribute einbeziehen.
hashCodes() sollten breit gestreut sein, d.h. nur wenige unterschiedliche Attributbelegungen sollen den gleichen Hash-Wert erzeugen.
Es sollen nur Identitätsstiftende Attribute mit einbezogen werden. Also nur Attribute, die genau einem Objekt zuzuordnen sind. Bsp. die Adresse des Kunden ist nicht Identitätsstiftend.
Was bedeutet Interface Comparable?
Dieses dfiniert eine Schnittstelle zur Implementierung einer Ordnung.
Zuletzt geändertvor einem Tag