Klausurfragen - Teil 3 Flashcards

(12 cards)

1
Q

Erklären Sie Schlüsselwort final in der Variablendeklaration

A
  • final bei Variablen bedeutet, dass eine Variable nur einmal einen Wert zugewiesen bekommen kann.
  • Primitive Datentypen: Der Wert kann nicht geändert werden.
  • Objektreferenzen: Die Referenz bleibt unveränderlich, aber das Objekt selbst kann geändert werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was bedeutet die Aussage: “Strings sind immutable”?

A

“Strings sind immutable” bedeutet, dass ein einmal erstelltes String-Objekt nicht verändert werden kann.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Deklarieren Sie einen zwei-dimensionalen Array.Datentyp von Integer-Zahlen mit 3 Zeilen und
2 Spalten, und speichern Sie eine beliebige Integer-Zahl an die linke obere Stelle

A

‘’’
int[][] array = new int[3][2]; // 3 Zeilen, 2 Spalten
array[0][0] = 42; // Speichert eine beliebige Zahl an die linke obere Stelle
‘’’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was sind die charakterisierenden Eigenschaften einer Objektorientierung?

A
  1. Kapselung (Encapsulation)
  2. Vererbung (Inheritance)
  3. Polymorphie (Polymorphism)
  4. Abstraktion (Abstraction)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

In Java kann eine Klasse nur von einer anderen Klasse erben (im Gegensatz zu C++).
Nenne Vor- und Nachteile.

A

Vorteile:

  • Kein Diamond-Problem
  • Einfachere Wartung und Lesbarkeit
  • Weniger Fehler durch komplexe Vererbungen

Nachteile:

  • Weniger Flexibilität
  • Erfordert Interfaces oder Komposition als Workarounds
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was versteht man unter Up- bzw. Down-Casting?

A

Up-Casting:

  • Unterklasse -> Oberklasse (automatisch möglich)
  • Beispiel:
    ‘’’
    Buch buch = new Buch();
    Medium medium = buch; // Up-Cast
    ‘’’

Down-Casting:

  • Oberklasse -> Unterklasse (muss explizit gecastet werden)
  • Beispiel:
    ‘’’
    Medium medium = new Buch();
    Buch buch = (Buch) medium; // Down-Cast
    ‘’’
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist eine abstrakte Methode und was ist eine abstrakte Klasse?

A
  • Abstrakte Methode: Eine Methode ohne Implementierung, die in Unterklassen überschrieben werden muss.
  • Beispiel:
    ‘’’
    abstract class Tier {
    abstract void makeSound(); // Keine Implementierung
    }
    ‘’’
  • Abstrakte Klasse: Eine Klasse, die nicht direkt instanziiert werden kann.
  • Beispiel:
    ‘’’
    abstract class Tier {
    abstract void makeSound();
    void sleep() { System.out.println(“Schlafen”); } // Konkrete Methode
    }
    ‘’’
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Nennen Sie 4 charakterisierende Merkmale von Interfaces

A
  1. Abstrakte Methoden
  2. Mehrfachvererbung möglich
  3. Enthalten nur Konstanten
  4. Seit Java 8: Default und statische Methoden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wie sieht der Header der Equals Methode aus?

A

public boolean equals(Object obj)

Weiteres Beispiel:

‘’’
@Override
public boolean equals(Object obj) {
if (this == obj) return true; // Prüft Referenzgleichheit
if (obj == null || getClass() != obj.getClass()) return false; // Prüft Typ
MyClass other = (MyClass) obj;
return this.value == other.value; // Vergleicht Werte
}
‘’’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie sieht der Header der HashCode Methode aus?

A

public int hashCode()

Weiteres Beispiel:

‘’’
@Override
public int hashCode() {
return Objects.hash(value1, value2); // Erzeugt Hash basierend auf Attributen
}
‘’’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Schreibe ein try-with-resources statement

A

‘’’
try (BufferedReader reader = new BufferedReader(new FileReader(“datei.txt”))) {
String line = reader.readLine();
System.out.println(line);
} catch (IOException e) {
e.printStackTrace();
}
‘’’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

was ist f?
float d = 2.345F;
int e = (int) d;
float f = (float) e;

A
  1. float d = 2.345F;
    → d speichert 2.345 als float.
  2. int e = (int) d;
    → Casting von float zu int entfernt die Nachkommastellen.
    → e wird 2 (keine Rundung, sondern Abrunden).
  3. float f = (float) e;
    → e wird zurück in float konvertiert.
    → f = 2.0F.

Ergebnis:

f hat den Wert 2.0F.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly