Sem I (Program I) - N5 Flashcards
Wo lebt eine Referenzvariable?
Referenzvariable auf dem Stack, während das Objekt, auf das sie verweist, auf dem Heap lebt.
Wo leben die Instanzvariablen des Objektes?
im Heap
Wann werden Instanzvariablen initialisiert?
Instanzvariablen werden in Java zu dem Zeitpunkt initialisiert, wenn das Objekt, zu dem sie gehören, erstellt wird.
Wann sind zwei Objekte gleich?
Wenn sie auf dasselbe Objekt im Speicher verweisen. Dies wird mit dem ==-Operator überprüft.
Was ist eine Instanzmethode und wie wird sie verwendet?
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
Was ist eine Klassenmethode und wie wird sie verwendet?
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.
Hat eine Klassenmethode Zugriff auf nicht statische Attribute (Instanzvariablen) einer Klasse?
Nein
Kann ein Objekt der Klasse auf eine Klassenmethode mit Punkt zugreifen: objekt.methode()? (Java)
Ja, ein Objekt der Klasse kann auf eine Klassenmethode (statische Methode) mit Punktnotation zugreifen: objekt.methode().
Wie definiert man eine Variable, die allen Objekten der Klasse gemeinsam sein soll und von ihnen verändert werden kann?
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 } }
Wird durch eine Klassenvariable eine Objekt- oder eine Klasseneigenschaft definiert?
In Java definiert eine Klassenvariable (auch als statische Variable bezeichnet) eine Klasseneigenschaft und nicht eine Objekteigenschaft.
Was ist eine Referenzvariable und wo lebt sie?
Eine Referenzvariable speichert die Speicheradresse eines Objekt und lebt in Stack
Können zwei Referenzen auf dasselbe Objekt zeigen?
Ja
Sind zwei Objekte mit identischen Werten für alle Instanzvariablen gleich?
nicht automatisch gleich
Was ist der Unterschied zwischen einer Instanzvariable und einer Klassenvariable
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.
Was ist der Unterschied zwischen einer Instanzmethode und einer Klassenmethode?
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.
Sind alle Methoden eines Objektes seine Schnittstellen?
Nein
Sind Methoden einer Klasse meistens public oder private?
Private
Sind Attribute einer Klasse meist public oder private?
private
Ist ein Array ein Objekt oder eine Referenz auf ein Objekt?
In Java ist ein Array sowohl ein Objekt als auch eine Referenz auf ein Objekt.
Kann ein Array einige Elemente vom Datentyp int und einige Elemente vom Datentyp double enthalten?
Nein