OCP open points

some open points

some open points


Fichier Détails

Cartes-fiches 90
Langue Deutsch
Catégorie Informatique
Niveau Autres
Crée / Actualisé 09.01.2020 / 10.01.2020
Lien de web
https://card2brain.ch/box/20200109_ocp_open_points
Intégrer
<iframe src="https://card2brain.ch/box/20200109_ocp_open_points/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Gibt es eine notwendige Ordnung bei switch-case-blöcken?

Nein, ein default am anfang macht nur keinen sinn, wäre aber möglich

Wann kann man die for-each-schleife benutzen?

Bei arrays oder objekten die das Interface java.util.Iterable implementieren

Was sagt der compiler hier?

String [] names = {"name","name2"];

for(int i = 0; i < names.length; i++) {

  continue;

  System.out.println("something");

}

unreachable code

Worauf muss man bei Labels aufpassen?

Dass das entsprechende continue statement (continue LABEL_1 f.e.) in dem block vorkommt wo das loop definiert ist sonst error

Welche davon sind valid?

  1. int[2] array1;
  2. int i, ia[]
  3. int[] ia, iaa[];
  4. int[] ia = new int[];
  5. int [] ia = new int[]{1,2,3,4,5};
  6. int[] ia = new int[2]{1,2};

2,3,5

Wie bekomme ich die Größe eines Arrays?

mit array.length;  (feld, keine funktion)

Sind Arrays kovariant?

Ja

Ist zeile 2 oder 3 oder beide richtig?

int[] intArray = new int[]{0,1,2};

Object obj = intArray;

Object[] oa = intArray;

Zeile 2, Zeile 3 nicht da die elemente auf die das intarray zeigt keine Objects sind sondern ints

 

Ist das ok?

Object[][] oaa = new int[2][3];

Nein, Object[] oa = .. wöre es aber..

Kann eine Methode, die angibt Integer zu returnen auch ein int returnen (oder umgekehrt)?

Ja

Aus was besteht die Methodensignatur?

Methodenname, geordnete Liste von parametertypen

Wie ist die reihenfolge bei overloaded methods? (widening, varargs, autoboxing)

widening  vor autoboxing vor varargs

Kann ein byte zu einem Integer geautoboxed werden?

Nein, byte nur zu Byte, int nur zu Integer, ...

Wie viele instance-initializer kann man haben?

Beliebig viele, ein Instance-initializer kann auch beliebig lang sein

Können instance-initializer auf this und super zugreifen?

Ja

Was kann man mit einer Instancevariablen in einem instance-initializer machen welche erst nach dem instance-initializer deklariert wird 

Werte zuweisen ok, den Wert verwenden aber nicht 

Kann man im instance-initalizer Methoden verwenden welche erst später deklariert/definiert werden?

Ja, im gegensatz zu Variablen welche nicht verwendet werden können (nur werte zugewiesen werden können)

Kann ein instance-initializer Exceptions werfen? Was wenn er gar nicht ohne Exception beendet werden kann?

Kann Exceptions werfen, muss aber einen Weg haben ohne Exception beendet zu werden zu können

Wann muss eine statische final Variable initialisiert werden?

Entweder direkt oder im static initializer

Wann muss eine final class-Variable initialisiert werden?

Entweder direkt, in einem instanceinitializer oder in ALLEN Konstruktoren

Was kann nicht als static deklariert werden?

Eine toplevel-class, ein Interface, eine Enum

Kann man aus einer statischen Methode auf instance-Variablen zugreifen (auch ohne this. – syntax)

Nope -> Nicht vergessen darauf zu achten!

Wieviele static-blocks kann eine Klasse haben?

Beliebig viele

Kann ein static-block auf Variablen zugreifen die erst später im Code deklariet werden?

Gleich wie bei instance-initializern, kann sie setzen aber nichtverwenden

Was passiert wenn eine Klasse superklassen hat und diese ebenfalls statische blocks beinhält? (Reihenfolge)

Es werden erst die superklassen initialisiert (insofern diese noch nicht initialisiert wurden – also der static block ausgeführt wurde)

Können private Member vererbt werden?

Nein, default/protected auch nur in ihrem Visibility-bereich

Können static methoden/variablen überschrieben werden?

Nein, nur versteckt

Wie ist die "Order of initialization"?

  1. Wenn superklasse existiert: static fielst initialisieren, static initializer ausführen
  2. static fields, static initializer der klasseW
  3. Wenn superklasse existiert: instance fields intialisieren, instance initializer auführen
  4. superclass konstruktor ausführen
  5. instance fields initialisieren, instance initializer ausführen
  6. klass construktor ausführen

Kann eine statische Methode auch abstrakt sein?

Nein, statisch bedeutet sie gehört zur klasse, abstrakt sagt aber dass sie nicht implementier tist

Was ist wenn eine statische Methode final ist?

sie kann nicht versteckt werden!

Kann eine final class abstrakte Methoden beinhalten?

Nein

Kann eine statische Methode eine instance-methode überschreiben oder vice-versa?

Nein

Kann ein cast auch ausgeführt werden wenn keine is-a - Beziehung existiert?

Nein

kann man immer zu Interfaces casten?

Fast, der compiler weiß ja nicht ob ggfls eine subclasse das Interface implementiert. Ist die Klasse allerdings final weiß er es und checkt ob das Interface acuh implementiert wird

Was ist die Regel wann casten notwending ist?

Wenn man features (instance-variablen/methoden) die in einer subklasse definiert sind nutzen möchte durch eine Referenz die als superklasse definiert ist

((String) obj).length();

Ändert das casten das Objekt?

Nein, nur wie der Compiler das Objekt sieht

Sind aufrufe von non-private und non-final instance-methods dynamisch von der jvm (also virtuell) oder staisch zur compile-zeit gebunden?

Dynamisch von der jvm -> polymorphismus wäre sonst nicht möglich, Elemente zur Laufzeit austauschen

Kann man die equals-methode auch "nur" overloaden statt overriden?

Ja, super gefährlich - Verwendet man die Methode kann es sein, dass die equals-methode der superklasse aufgerufen wird

Was ist alles in einem Interface defaultmäßig?

public außer Methoden di eexplizit private sind

Was ist der Unterschied zwischen statischen Methoden einer Klasse und eines Interfaces hinsichtlich der vererbung?

statische methoden eines interfaces werden nicht vererbt, einer Klasse schon