Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino
SCJP 1.6 Thread
flaite:
Hi,
mein letztes SCJP (DIE Java Programmier-Zertifizierung) liegt nun 7 Jahre zurück. Zu Java1.3 Zeiten. Deshalb hab ich mir überlegt, die Prüfung nochmal zu machen. Es werden ein paar nicht so praxis-relevante Sachen abgefragt, aber insbesondere in den neuen Java5 Zeugs wie Generics und enums sind mir ein paar Hintergründe klargeworden. Auch natürlich bei Threads, die ich - wie ca. 99% der Java Programmierer - nicht wirklich selbst mit code manage.
Die Prüfung ist insbesondere im Vergleich zu IBM Produkt-Certies (von denen ich einige hab) sehr tricky und mit einer gewissen Liebe zum Thema zusammengestellt.
Poste ein paar gemeine Testfragen. Hoffentlich findet sich jemand der sich an einer Antwort versucht:
--- Code: ---interface Complainer {
byte countRant;
void complain();
}
class HeiniSchwammerl implements Complainer {
public void complain() {
<<< code hier >>>
}
}
--- Ende Code ---
Frage: was kann statt <<< code hier >>> eingefügt werden, damit das ohne Fehler kompiliert? (wähle alle, die passen):
a) countRant ++;
b) countRant += 1;
c) countRant = countRant + 1;
d) count = (byte) (count + 1);
e) keins von den genannten.
MadMetzger:
Meiner Meinung nach müsste es Antwort e sein.
Das Attribut countRant ist implizit static final, also können a-c nicht funktionieren, da finale Attribute nur einmal "beschreibbar" sind und statische Attribute schon beim Laden der Klasse (richtig?) initialisiert werden. Aufrufe in den Methoden würden also alle ein zweites mal "schreiben" wollen, was eben nicht geht.
Antwort d kann nicht kompilieren, da count nirgendwo deklariert ist.
flaite:
Exzelent.
Allerdings bin ich mir nicht sicher, ob das so kompilierbar wäre,
--- Code: ---nterface Complainer {
byte countRant;
void complain();
}
class HeiniSchwammerl implements Complainer {
public void complain() {
}
}
--- Ende Code ---
Probier ich mal aus. Jetzt zu spät.
AFAIK müssen final Variablen explizit (initializer oder konstruktor) initialisiert werden...
Folgen weitere Fragen, auch wenn das zu unserem Privat-Thread wird.
MadMetzger:
Vollommen richtig, das Interface kann so nicht kompilieren, da für das final-Attribut eine Initialisierung fehlt. Habe das mal mit Eclipse nachgebaut, wenn du willst, kann ich das Projekt hier einstellen.
Edit: Ich habe mal das Eclipseprojekt als Zip-Archiv angehängt.
flaite:
Bestanden. War am Ende genervt. Ich fand die Fragen schon z.T. recht esoterisch und hab mit 83% bestanden. Wollte über 90% aber was solls.
Über die Sektionen wars relativ ausgeglichen verteilt. Am schlechtesten war OO-Concepts (70%), aber fand die Logik der Sun-Fragen in diesem Bereich bis zum Ende ziemlich apart. Nur bei Fundamentals hab ich 100% erreicht.
Insgesamt dauerte die Vorbereitung 5 Wochen. Neben der Arbeit und viele Tage garnicht. Unverzichtbar ist das SCJP Buch von Kathy Sierra und Bert Bates. Als Prep Test ist whizlabs absolut brauchbar. Anders als bei gewissen IBM certis darf man aber nicht erwarten, dass im wirklichen Test die gleichen Fragen wie beim Prep-Tst vorkommen. Die Fragen-Datenbank scheint sehr umfangreich zu sein...
Schlauer geworden bin ich in dem Prozeß für bestimmte Punkte in den Bereichen Threads, Generics und Enums. Ansonsten wars eine reine Wiederholung.
Find den Test für eigentlich ganz sinnvoll, um sich ein wenig tiefer mit einigen Grundlagen der Programmiersprache Java zu beschäftigen. Am Code denke ich immer relativ schnell zu erkennen, ob sich jemand ein wenig auf die Sprache eingelassen hat oder einfach nur sein Glück versucht, ohne zu verstehen zu versuchen, was man da gerade eigentlich tut.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln