Jan 10

Wie ist der Output des folgenden Codes?

interface PersNr{ void setPersNr (short PersNr); }

public class Angestellter implements PersNr {

void setPersNr(short PersNr){ System.out.println(“short”);}
void setPersNr(long PersNr){ System.out.println(“long”);}

static public void main(String[] Args){

Angestellter a = new Angestellter();
a.setPersNr(1);

}

}

Antwort/ answer
Aug 20

Nenne zwei Wege um getPersNr() aufzurufen:

class Angestellter{

public static void getPersNr() { … }

public static void main(String args[]) {

//Hier Code eingeben

}

}

Antwort/ answer
Tagged with:
Dez 05

Heute wollen wir uns mal die Übergabe von List ohne jegliche Einschränkungen anschauen:

public static void checkStatus_list (List <?> a){ … }
oder
public static void checkStatus_list (List<Object> a){ … }

Auf den ersten Blick sieht es aus, als wären beide Methoden gleich, aber es gibt Unterschiede:

Bei der Übernahme von  <?> ist die Funktion add(Object) ausgeschaltet; ein CompilerFehler wird ausgeben. Hintergrund ist einfach, dass Probleme bei verschiedenen Objekttypen, bzw. deren späterer Weiterbehandlung vermieden werden soll.

Bei der Übernahme von (List<Object> a) kann auch nur der Typ List <Object> übergeben werden, und keine Subklassen. Somit ist für unser Beispiel (List mit Objekten vom Typ Buchhalter, Verkäufer und Angestellter) diese Methode nicht brauchbar.

Tagged with:
Dez 01

Heute wollen wir die Methode checkStatus_list erneut abändern:

public static void checkStatus_list (List <? extends Angestellter>  a){ … }

Obwohl Serializable ein Interface ist, muss in diesem Falle extends benutzt werden, alles andere ergibt einen CompilerFehler!

Um durch die Objekte durchgehen und überschriebene Methoden aufrufen zu können, ist kein Cast notwendig:

for (Angestellter b : a)
System.out.println(“List yyy ” +b.getName());

Das Hinzufügen weiterer Elemente innerhalb der Methode ist nicht möglich.

Weitere Funktionen dieser Wildcard-Art werden im SCJP nicht abgefragt, deswegen werde ich fürs Erste nicht weiter darauf eingehen.


Tagged with:
Nov 25

Das die Zuweisung

a.add(new Buchhalter());
a.add(new Verkäufer());

in unserem vorherigen Beispiel funktioniert, haben wir ja schon vor ein paar Tagen durchgesprochen.

Gehen wir mal davon aus, dass wir überschriebene Methoden haben:

class Buchhalter extends Angestellter{String getName(){ return(“Buchhalter”);}}
class Verkäufer extends Angestellter{ String getName(){ return (“Verkäufer”);}}

Diese Funktionen können direkt und ohne Probleme augerufen werden, weil ja zur Laufzeit nicht mehr zwischen Array und ArrayList unterschieden wird:

System.out.println(a.get(0).getName()); // Ausgabe: Buchhalter
System.out.println(a.get(1).getName()); //Ausgabe: Verkäufer

Tagged with:
Nov 16

Was ist der Output des folgenden Codes:

class Angestellter{

public String getName(){ return(“Angestellter”);}

public static void main(String args[]) {

Angestellter a = new Buchhalter ();

System.out.println(a.getName());

}

}

class Buchhalter extends Angestellter{

public String getName(){ return(“Buchhalter”);}

}



Antwort/ answer

Nov 14

Was ist der Output des folgenden Codes:
class Angestellter{

public static void main(String args[]) {

Angestellter a = new Buchhalter ();

System.out.println(a.getName());

}

}

class Buchhalter extends Angestellter{

public String getName(){ return(“Buchhalter”);}

}



Antwort/ answer

Sep 20

Was ist der Output des folgenden Codes?

public class Angestellter  {

static int newPersNr(Long x, Long y) { return 1; }
static int newPersNr(long… x) { return 2; }
static int newPersNr(Integer x, Integer y) { return 3; }
static int newPersNr(Number n, Number m) { return 4; }

static public void main(String[] Args){

short a =1;
int b =2;
long c=3;
Long d = new Long(4);

System.out.println(newPersNr(a,a));
System.out.println(newPersNr(b,b));
System.out.println(newPersNr(c,c));
System.out.println(newPersNr(d,d));

System.out.println(newPersNr(1,1));

System.out.println(newPersNr(a,b));
System.out.println(newPersNr(a,c));
System.out.println(newPersNr(a,d));
System.out.println(newPersNr(d,a));
System.out.println(newPersNr(c,a));
System.out.println(newPersNr(b,a));

}

}

Antwort/ answer
    Sep 18

    Was ist der Output folgenden Codes:

    class Angestellter{

    public static void getValue(Long a) {

    System.out.print(“LONG “);

    }

    public static void main (String … args){

    int i = 1;

    getValue(i);

    }

    }



    Antwort/ answer

    Sep 14

    Kann eine als public static definierte Methode in jeder Subklasse ohne explizite Referenzierung aufgerufen werden?

    Antwort/ answer
    Tagged with:
    preload preload preload
    http://www.wikio.de Blog Top Liste - by TopBlogs.de Blogverzeichnis - Blog Verzeichnis bloggerei.de Bloggeramt.de Software
    Webbhotell Top Blogs