ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
1313
1313
EMPFEHLEN
-
29.10.04 00:04 #1
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo!
Ja, auch bei anonymen Klassen gibt es Konstruktoren, jedoch ist deren aufruf Syntax etwas "ungewohnt":
Zbsp.:
Code :1 2 3 4 5 6 7 8
new Thread(){ {//Hier folgt der Konstruktor Block: setPriority(MIN_PRIORITY); } public void run(){ System.out.println("Loooooooong operation"); } }.start();
Mal ganz nebenbei...
*Beitragszähler hochpush*
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
29.10.04 09:59 #2
Hmm.. in "normalen" Klassen definiert man mit
einen static-Block, soviel ich weiss.Code :1 2 3
{ ... }
-
29.10.04 10:02 #3
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo!
Das ist so nicht korrekt:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
package de.tutorials; /** * @author Darimont * */ public class Test35 { public Test35() { System.out.println("C"); } { System.out.println("A"); } static { System.out.println("B"); } public static void main(String[] args) { new Test35(); } }
Gibt
B
A
C
aus...
static Blöcke werden mit static{ ... eingeleitet...
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
29.10.04 10:09 #4
OK, heisst das, dass es auch in normalen Klassen als ein Konstruktor interpretiert wird?
-
29.10.04 10:13 #5
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Übrigens werden diese Anonymen Konstruktoren NACH den "eigentlichen" Konstruktoren der jeweiligen Klasse aufgerufen:
Beispiel:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
/** * @author Darimont * */ public class Test35 { public static void main(String[] args) { new Test35().doIt(); } /** * */ private void doIt() { System.out.println(new T(Thread.MAX_PRIORITY) { { System.out.println("Ctor anony"); setPriority(Thread.MIN_PRIORITY); } }.getPriority()); } class T extends Thread { public T(int prio) { System.out.println("CTor T"); setPriority(prio); } } }
Ausgabe:
CTor T
Ctor anony
1
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
29.10.04 10:16 #6
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Die "Dinger" nennt man übrigens Instanz Initialisierer.
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
29.10.04 10:17 #7
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Jap.OK, heisst das, dass es auch in normalen Klassen als ein Konstruktor interpretiert wird?
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
29.10.04 10:30 #8
Danke, wieder was gelernt.

Gruß
Vincent
Ähnliche Themen
-
Konstruktoren
Von drpingoo im Forum C/C++Antworten: 2Letzter Beitrag: 17.09.08, 18:41 -
Klassen-Konstruktoren und -Methoden
Von Kafkalasch im Forum Java GrundlagenAntworten: 4Letzter Beitrag: 12.07.08, 17:46 -
Konstruktoren
Von mostwanted90 im Forum C/C++Antworten: 12Letzter Beitrag: 22.03.07, 14:16 -
Konstruktoren bei Qt
Von Azi im Forum C/C++Antworten: 5Letzter Beitrag: 11.08.06, 18:39 -
Konstruktoren
Von MrDude im Forum C/C++Antworten: 1Letzter Beitrag: 25.01.04, 14:22






Zitieren
Login





