public class ZweiFahrstuehle { private static Fahrstuhl liftLinks = new Fahrstuhl(), liftRechts = new Fahrstuhl(); public static void tuerOeffnenLinks() { try { liftLinks.tuerOeffnen(); } catch (TuerAusn a) { // Tür schon offen } }
public static void aufwaertsLinks() { try { liftLinks.aufwaerts(); } catch (RichtungsAusn a) { // Lift schon oben } } ... // weitere Methoden ähnlich
public static void main(String[] args) { tuerSchliessenLinks(); aufwaertsRechts(); } }
public classFahrstuhlsteuerung extends FahrstuhlMenueAufg { private Fahrstuhl lift = new Fahrstuhl(); protected void tuerAuf() { try { lift.tuerOeffnen(); } catch (TuerAusn a) { System.out.println("Tür schon offen"); } } protected void tuerZu() { ... // ähnlich } protected void hochfahren() { try { lift.aufwaerts(); } catch (RichtungsAusn a) { System.out.println("Lift schon oben"); } } protected void hinunterfahren() { ... // ähnlich } }
( X ) Falsch Die folgende Zählschleife wird 100 mal ausgeführt:
for (int zaehler=0; zaehler<100; zaehler--) anweisung;( X ) Falsch Die Zuweisung
Klasse1 ref = new Klasse2(); ist nur dann zulässig, wenn Klasse2 eine Oberklasse von Klasse1 ist.( X ) Richtig Der Ausdruck
3*(4.0f / 17) liefert einen Wert vom Typ float.( X ) Falsch Eine Klasse besitzt nur dann einen Konstruktor, wenn er
explizit in der Klasse definiert ist.
Grund: Parameterloser Konstruktor ist implizit immer vorhanden
( X ) Falsch Ein
private-Konstruktor verhindert, dass die Klasse ausgeprägt wird.( X ) Richtig Die Anweisung
Object ob1 = new Integer(4); ist zulässig; die Anweisung Object ob2 = 4; ist unzulässig( X ) Richtig Die Ausführung der
start()-Methode eines Applets erfolgt über einen polymorphen Aufruf.( X ) Richtig Es gibt Klassen, die ohne den Aufruf einer ihrer Methoden
etwas tun.
Grund: z.B. HalloWelt (nur der Konstruktor wird
aufgerufen)
abstract public class Wortleser implements Scanner { private Eingabestrom eingabe = new Eingabestrom(); private char aktuellesZeichen;
public boolean leerzeichen() { return aktuellesZeichen == ' '; }
public void naechstesZeichen() throws DateiendeAusn { aktuellesZeichen = eingabe.zeichenEinlesen(); }
public void leerzeichenUeberlesen() throws DateiendeAusn { while (leerzeichen()) naechstesZeichen(); } }