|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
[JAVA] definizione di java.awt.window e java.awt.frame
Sto leggendo la documentazione delle classi java.awt.window e java.awt.frame.
Frame estende Window, ma... un costruttore di Window prende come argomento un Frame... come è possibile? Frame non esiste finchè non è definita Window, ma Window è definita usando Frame... come è possibile questo?? quale regola del linguaggio sto dimenticando? |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
l'unico modo che mi viene in mente è il seguente escamotage:
creo un file Window.java con scritto " class Window {} " compilo creo un file Frame.java con scritto: " class Frame extends Window {} " compilo e ora modifico Window.java aggiungendo un costruttore che chieda un Frame... ma è un modo un po' sporco di fare le cose... no? |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Dai una passata di google per "compilers, resolving circularity". Trovi un bel mucchio di quei magnifici documenti tutti pieni di letterine greco-etrusche le quali dimostrano inequivocabilmente "che si può fare". Io mi fido
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
spulcerò bene google per ora ho dato solo una veloce occhiata senza trovare materiale molto utile, il problema è che questo
//file Poldo.java class Poldo { Poldo(Ciccio c) {} } //file Ciccio.java class Ciccio { Ciccio(Poldo p) {} } compila, mentre questo: //file Poldo.java class Poldo extends Ciccio { Poldo(Ciccio c) {} } //file Ciccio.java class Ciccio { Ciccio(Poldo p) {} } non compila! |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Se Poldo estende Ciccio, allora il costruttore di Poldo dovrebbe chiamare il super-costruttore di Ciccio. Il compilatore infatti inserisce per default una chiamata super(). Peccato che .... Ciccio abbia un unico costruttore che ha come parametro Poldo e quindi NON ha un costruttore senza argomenti!! Questi sono i concetti "base" dei costruttori .....
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
ma per la pupazza!!!!!!!!!!!
come al solito guardi la pagliuzza nell'occhio del tuo vicino e non ti accorgi della trave nel tuo... come ca...pperi ho fatto a dimenticarmi del costruttore di default?????????????? grazie andbin, mi hai restituito il sonno |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:34.




















