|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: May 2004
Città: uboldo
Messaggi: 25
|
Si può utilizzare l'istruzione new anche così?
![]() Ciao a tutti. Naturalmente ho un problema: sto creando una chat in java e non so se questa istruzione è sbagliata o no, visto che l'ho trovata su una pagina web che spiega come si crea una chat: (new ThreadServer(chatIn,chatOut,str)).start(); chatIn, chatOut e str sono delle variabili che dovrei passare al costruttore. Ma dove mi salva la variabile nuova creata se la crea?
__________________
#anna# |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Si si può usare...nei casi in cui non ti serva un riferimento alla zona di memoria creata. La new crea una locazione di memoria . Quando tu scrivi
MyClass class = new MyClass(). crei una locazione di memoria e dici alla variabile (puntatore) class di mantenervi un riferimento. MA se non ti serve riferirti nel codice a class, è inutile dichiararlo. |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: May 2004
Città: uboldo
Messaggi: 25
|
allora perchè...
Grazie per la tua esauriente risposta, ma perchè allora netbeans me lo segna come errore?
ProvaChat/ChatServer.java [29:1] cannot resolve symbol symbol : method start () location: class ProvaChat.ThreadServer ThreadServer threadServer=new ThreadServer(chatIn,chatOut,str).start();
__________________
#anna# |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
No no attenzione tu dichiari
ThreadServer threadServer=new ThreadServer(chatIn,chatOut,str).start(); Non puoi!! start() è un metodo! dovrai fare: ThreadServer threadServer=new ThreadServer(chatIn,chatOut,str) ; e poi chiamare il metodo start() threadServer.start() |
![]() |
![]() |
![]() |
#5 |
Junior Member
Iscritto dal: May 2004
Città: uboldo
Messaggi: 25
|
grazie mille
![]() Grazie mille...adesso provo a vedere se funziona...ma l'istruzione l'avevo già trovata così come te l'avevo scritta, e anche a me sembrava un po strano che il metodo start venisse applica subito. grazie ancora...
__________________
#anna# |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Tu avevi trovato
(new ThreadServer(chatIn,chatOut,str)).start(); che è un altra cosa... questa è lecita, la dichiarazione no ![]() |
![]() |
![]() |
![]() |
#7 |
Junior Member
Iscritto dal: May 2004
Città: uboldo
Messaggi: 25
|
Ok, ma anche se è lecita mi da un errore e questo è l'errore:
ProvaChat/ChatServer.java [29:1] cannot resolve symbol symbol : method start () location: class ProvaChat.ThreadServer (new ThreadServer(chatIn,chatOut,str)).start(); ^ Note: C:\ChatJava\src\NewChat\ProvaChat\ChatServer.java uses or overrides a deprecated API. Note: Recompile with -deprecation for details. 1 error Errors compiling ChatServer. Quindi ricapitolando come faccio?
__________________
#anna# |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Perchè ogni volta che rispondi in questo 3d mi arriva un messaggio privato con lo stesso testo??
Comunque, appurato che sintatticamente è corretto scrivere (new ThreadServer(chatIn,chatOut,str)).start(); l'unico motivo è che la classe ThreadServer non abbia il metodo start(). Io immagino che sia una tua classe, che dovrebbe estendere Thread (che ha il metodo start()) ma non lo fa . |
![]() |
![]() |
![]() |
#9 |
Junior Member
Iscritto dal: May 2004
Città: uboldo
Messaggi: 25
|
Perchè non ho ancora capito come faccio a risponderti, visto che mi sono iscritta oggi.
Sì la classe ThreadServer l'ho creata io, e di fatti non ha il metodo start. Lo creo e guardo se funziona, altrimenti chiederò ancora una volta il tuo aiuto. Grazie
__________________
#anna# |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Basta premere il tasto RISPONDI
![]() Resto a disposizione, ma fra poco dovrò allontanarmi dal pc. Al limite ti rispondo domani mattina. |
![]() |
![]() |
![]() |
#11 |
Junior Member
Iscritto dal: May 2004
Città: uboldo
Messaggi: 25
|
Comunque non ho capito ancora perchè non funziona l'istruzione contenente il new.
Mi potresti scrivere un esempio per capirne il funzionamento?
__________________
#anna# |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Devi postare il codice delle classi altrimenti non ci capiamo...Hai fatto estendere Thread alla tua classe??
|
![]() |
![]() |
![]() |
#13 |
Junior Member
Iscritto dal: May 2004
Città: uboldo
Messaggi: 25
|
Sto cercando di realizzare una chat in java. Ho realizzato 5 classi: chatserver, chatclient, threadServer, finestra e finestrachat. La chatserver è il programma che controlla se qualche client gli spedisce un user id cosicchè da utilizzare l'istruzione con il new. Chatclient sarebbe il programma che ogni utente che vuole connettersi alla chat deve aprire.Finestra e finestrachat sono le parti grafiche.Threadserver è la famosa classe che deve essere instanzioata con il new.
Per potermi aiutare hai compreso il mio lavoro o preferisci che ti invio gli allegati delle classi? Ma ho paura che qualcuno potrebbe fregarmeli e utilizzarmeli...
__________________
#anna# |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Ma perchè devi venderli?
![]() |
![]() |
![]() |
![]() |
#15 |
Junior Member
Iscritto dal: May 2004
Città: uboldo
Messaggi: 25
|
Ma no non dovrei venderli o almeno non ci ricaverei nulla io, visto che sto facendo lo stage.
Ho paura che qualcuno me li potrebbe utilizzare e quindi la mia fitica andrebbe sfruttata. Hai capito cosa intendo?
__________________
#anna# |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Al limite saresti di aiuto a qualcuno
![]() |
![]() |
![]() |
![]() |
#17 |
Member
Iscritto dal: Oct 2002
Messaggi: 293
|
Codice:
class ServerThread extends Thread { public ServerThread() { //costruttore in cui passare chatin, chatout, str } public void run(){ System.out.println("Server started..."); } } public class Server { public static void main(String[] args){ new ServerThread().start(); } } ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:57.