Sem I (Program I) - N5 Flashcards

1
Q

Wo lebt eine Referenzvariable?

A

Referenzvariable auf dem Stack, während das Objekt, auf das sie verweist, auf dem Heap lebt.

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

Wo leben die Instanzvariablen des Objektes?

A

im Heap

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

Wann werden Instanzvariablen initialisiert?

A

Instanzvariablen werden in Java zu dem Zeitpunkt initialisiert, wenn das Objekt, zu dem sie gehören, erstellt wird.

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

Wann sind zwei Objekte gleich?

A

Wenn sie auf dasselbe Objekt im Speicher verweisen. Dies wird mit dem ==-Operator überprüft.

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

Was ist eine Instanzmethode und wie wird sie verwendet?

A

Eine Instanzmethode ist eine Methode, die an einem bestimmten Objekt einer Klasse aufgerufen wird und typischerweise auf die Instanzvariablen dieses Objekts zugreifen und diese manipulieren kann

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

Was ist eine Klassenmethode und wie wird sie verwendet?

A

Eine Klassenmethode, auch als statische Methode bezeichnet, ist eine Methode, die zur Klasse selbst gehört und nicht zu einer Instanz der Klasse. Klassenmethoden werden mit dem Schlüsselwort static deklariert und können ohne die Erstellung eines Objekts der Klasse aufgerufen werden.

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

Hat eine Klassenmethode Zugriff auf nicht statische Attribute (Instanzvariablen) einer Klasse?

A

Nein

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

Kann ein Objekt der Klasse auf eine Klassenmethode mit Punkt zugreifen: objekt.methode()? (Java)

A

Ja, ein Objekt der Klasse kann auf eine Klassenmethode (statische Methode) mit Punktnotation zugreifen: objekt.methode().

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

Wie definiert man eine Variable, die allen Objekten der Klasse gemeinsam sein soll und von ihnen verändert werden kann?

A

In Java können Sie eine Variable definieren, die von allen Objekten einer Klasse gemeinsam ist und von ihnen verändert werden kann, indem Sie ein sogenanntes Klassenattribut oder eine statische Variable verwenden. Sie definieren eine solche Variable mit dem Schlüsselwort static.

public class Beispiel {
    // Klassenattribut oder statische Variable
    public static int gemeinsameVariable = 0;

    public static void main(String[] args) {
        Beispiel obj1 = new Beispiel();
        Beispiel obj2 = new Beispiel();

        // Ändern der gemeinsamen Variable über Objekt 1
        obj1.gemeinsameVariable = 10;

        // Zugriff auf die geänderte gemeinsame Variable über Objekt 2
        System.out.println(obj2.gemeinsameVariable); // Ausgabe: 10
    }
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wird durch eine Klassenvariable eine Objekt- oder eine Klasseneigenschaft definiert?

A

In Java definiert eine Klassenvariable (auch als statische Variable bezeichnet) eine Klasseneigenschaft und nicht eine Objekteigenschaft.

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

Was ist eine Referenzvariable und wo lebt sie?

A

Eine Referenzvariable speichert die Speicheradresse eines Objekt und lebt in Stack

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

Können zwei Referenzen auf dasselbe Objekt zeigen?

A

Ja

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

Sind zwei Objekte mit identischen Werten für alle Instanzvariablen gleich?

A

nicht automatisch gleich

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

Was ist der Unterschied zwischen einer Instanzvariable und einer Klassenvariable

A

Instanzvariable
1) Eine Instanzvariable gehört zu einer bestimmten Instanz (Objekt) einer Klasse.
2) Sie wird innerhalb einer Klasse, aber außerhalb von Methoden, Konstruktoren oder Blöcken deklariert, ohne das Schlüsselwort static
3) Sie werden über das Objekt referenziert

Klassenvariable
1) Eine Klassenvariable gehört zur Klasse selbst, nicht zu einer bestimmten Instanz.
2) Sie wird innerhalb einer Klasse, aber außerhalb von Methoden, Konstruktoren oder Blöcken deklariert, und zwar mit dem Schlüsselwort static.

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

Was ist der Unterschied zwischen einer Instanzmethode und einer Klassenmethode?

A

Instanzmethode
1) ist eine Methode, die auf eine bestimmte Instanz einer Klasse angewendet wird.
2) Sie wird ohne das Schlüsselwort static deklariert.

Klassenmethode
1) ist eine Methode, die zur Klasse selbst gehört, nicht zu einer bestimmten Instanz.
2) Sie wird mit dem Schlüsselwort static deklariert.

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

Sind alle Methoden eines Objektes seine Schnittstellen?

A

Nein

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

Sind Methoden einer Klasse meistens public oder private?

A

Private

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

Sind Attribute einer Klasse meist public oder private?

A

private

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

Ist ein Array ein Objekt oder eine Referenz auf ein Objekt?

A

In Java ist ein Array sowohl ein Objekt als auch eine Referenz auf ein Objekt.

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

Kann ein Array einige Elemente vom Datentyp int und einige Elemente vom Datentyp double enthalten?

A

Nein

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

Wie verändert man die Länge eines Arrays?

A

Kann nicht verandern.

22
Q

Was wird ausgegeben bei System.out.println(array),
wenn array eine Referenz auf ein Array ist?

A

Speicheradresse oder der Hashcode des Arrays

23
Q

Wie viele Dimensionen kann ein Array besitzen?

A

So viel wie du willst

24
Q

Ist die Anzahl der Dimensionen bei der Definition eines Arrays (einer Referenz auf ein Array) immer festgelegt?

A

Ja

25
Q

Können mehrdimensionale Arrays Elemente verschiedener elementarer DT enthalten?

A

Nein

26
Q

Was ist die null-Konstante?

A

In Java ist null eine spezielle Konstante, die verwendet wird, um anzuzeigen, dass eine Referenzvariablen keinen Wert oder kein Objekt referenziert.

27
Q

Was versteht man unter einer defensiven Methode?

A

Оборонительный метод завершается для всех допустимых входных данных нормально и вызывает исключение для недопустимых входных данных.

28
Q

Ist length eine Instanzmethode oder eine Instanzvariable (Attribut) eines Arrays?

A

length ist eine Instanzvariable (Attribut) eines Arrays und keine Instanzmethode.

29
Q

Wegen des erlaubten Zugriffs array.length ist length offenbar public. Kann man dann length verändern (etwa so: array.length = 3;? Begründen Sie die Antwort.

A

Nein, man kann length eines Arrays in Java nicht verändern. Der Grund dafür ist, dass length eine öffentliche, aber finale Instanzvariable ist. Das bedeutet, dass sie nach ihrer Initialisierung nicht mehr geändert werden kann.

30
Q

Ist die Anzahl der Dimensionen bei der Definition eines Arrays (einer Referenz auf ein Array) immer festgelegt?

A

Ja

31
Q

Kann man einer Array-Referenz die null-Konstante zuweisen?

A

Ja

32
Q

Was sind Ausnahmen?

A

Dinge, bei denen man nicht garantieren kann, dass sie zur Laufzeit funktionieren – UNERWARTET.
Z.B. Verbindung zu einem Remote-Server herstellen → der Server läuft nicht

33
Q

Was ist robust methode? (JAVA)

A

Eine Methode heißt robust, wenn sie für jede mögliche Eingabe eine wohldefinierte Ausgabe produziert und normal terminiert

34
Q

Was ist defensiv Methode?

A

Eine Methode heißt defensiv, wenn sie für alle Eingaben des Definitionsbereichs normal terminiert (d.h. bricht nicht ab) und für alle anderen Eingaben eine Ausnahme (Exception) auslöst.

35
Q

Mathematischer Berechnungsfehler (Exception)

A

ArithmeticException

36
Q

Versuchter Zugriff auf einen nicht
vorhandenen Array-Index (Exception)

A

ArrayIndexOutOfBoundsException

37
Q

Versuchter Zugriff auf einen nicht vorhandenen String-Indexversuchter Zugriff auf einen nicht vorhandenen String-Index (Exception)

A

StringIndexOutOfBoundsException

38
Q

Versuchter Zugriff auf einen nicht vorhandenen Index versuchter Zugriff auf einen nicht vorhandenen Index (Exception)

A

IndexOutOfBoundsException

39
Q

Versuchte Speicherung in ein Array eines
Elementes von inkompatiblem Datentyp (Exception)

A

ArrayStoreException

40
Q

Versuchte Erzeugung eines Arrays negativer Länge (Exception)

A

NegativeArraySizeException

41
Q

Versuchte Zuweisung von Objekten inkompatibler Datentypen (Exception)

A

ClassCastException

42
Q

Einer Methode wird ein ungültiger
Parameter übergeben (Exception)

A

IllegalArgumentException

43
Q

Eine (Instanz-)Methode wird zu einem
Zeitpunkt auf ein Objekt angewendet, zu
dem sich das Objekt in einem dafür
unerlaubten Zustand befindet (Exception)

A

IllegalStateException

44
Q

Versuchter Zugriff auf eine (Instanz-)
Methode oder ein Attribut von einem null-
Objekt (Exception)

A

NullPointerException

45
Q

Versuchter Zugriff auf eine Methode, die von der Klasse nicht unterstützt wird (Exception)

A

UnsupportedOperationException

46
Q

Basis für die Fehlerkategorie, die
zur Laufzeit auftreten (Exception)

A

RuntimeException

47
Q

Was ist der Unterschied zwischen Checked und Unchecked
Exceptions?

A

Checked Exceptions:
Checked Exceptions sind Ausnahmen, die vom Compiler überprüft werden. Dies bedeutet, dass der Compiler sicherstellt, dass sie entweder durch einen try-catch-Block behandelt oder in der Methodensignatur mit dem Schlüsselwort throws angekündigt werden.

Unchecked Exceptions sind Ausnahmen, die vom Compiler nicht überprüft werden. Dies bedeutet, dass der Compiler nicht erzwingt, dass sie behandelt oder angekündigt werden.

48
Q

Was ist Exception Handler?

A

Ein Exception Handler ist ein Codeabschnitt in einem Programm, der darauf ausgelegt ist, Ausnahmen (Exceptions) zu fangen und zu behandeln, um den normalen Ablauf des Programms wiederherzustellen oder geeignete Maßnahmen zu ergreifen, wenn Fehler auftreten.

49
Q

Was wird nach dem try-Block abgearbeitet, wenn gar keine catch-Klausel vorhanden ist?

A

In Java kann ein try-Block ohne eine catch-Klausel, aber mit einer finally-Klausel existieren. Wenn eine Ausnahme im try-Block auftritt und keine catch-Klausel vorhanden ist, wird die Ausnahme weiterhin ausgelöst und an die aufrufende Methode weitergegeben. Unabhängig davon, ob eine Ausnahme auftritt oder nicht, wird der finally-Block immer ausgeführt.

50
Q

Was ist für das Anzeigen der möglicherweise auftretenden Fehler besser: spezielle Rückgabewerte (Bsp. -1 für Array-Index) oder Exceptions?

A

Exceptions ist besser