|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
15-09-2004, 14.04.48 | #1 |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
[Java] Invocare il main di una classe da un'altra
Mi servirebbe una mano... E' possibile chiamare, da una mia classe Java (tramite un metodo o qualcos'altro), l'esecuzione di una classe Java già compilata, di cui quindi ho già i .class, tramite il suo main, a cui passare dei parametri? In sostanza ho una classe così: Codice:
public class UtilityClass{ public static void Main(String args[]){ //pastrugna un po' i parametri } } Codice:
public class MyClass{ public mioMetodo(){ //fai qcosa per invocare il Main di UtilityClass //con i parametri param1 e param2. } } Grazie! |
15-09-2004, 16.24.31 | #2 |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Vabbè va, mi crocifiggo da solo, sono un pessimo programmatore.
Niente di più semplice che chiamare il metodo main... ma va te che uno non ci pensa.. uno pensa che main sia "speciale", che abbia la puzza sotto al naso e invece... |
15-09-2004, 17.39.20 | #3 |
Non ci cite niente?
Top Poster
Registrato: 19-03-2001
Loc.: MilanoRossoNera
Messaggi: 4.095
|
il main è un metodo come un altro
solo che viene invocato in automatico nel caso la classe venga lanciata da riga di comando con il comando "java"
___________________________________
Vuoi il link del programma che ti ho appena consigliato? Clicca qui Vuoi sapere il perchè del mio sotto-nick? Premi ALT-F4 ..::LaMiaConfigurazione::.. |
15-09-2004, 21.10.47 | #4 | |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Quota:
Durante il pranzo mi è venuta l'illuminazione Questa sera mi metto in ginocchio sui ceci davanti ad una tazza di caffè, per chiedere il perdono a San Java |
|
16-09-2004, 11.51.40 | #5 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Si ok funziona ..
però... Cerchiamo di mantenere l'incapsulamento, le gerarchie ecc. che sono proprie della buona porgrammazione oop... Il main è un metodo come gli altri .. può essere accettabile come definizione .. in realtà, se vogliamo parlare in termini analitici .. non lo è .. il "main" è l'entry point di un'applicazione inoltre è un metodo statico .. e i blocchi statici sono soggetti a convenzioni di chiamata diversi .. chiamarli "tradizionalmente" significa scardinare queste convenzioni di chiamata. Non voglio criticarti Dav82, so benissimo che sei un programmatore molto capace e sai il fatto tuo .. scrivo queste righe perché potrebbero magari essere utili anche ad altri che si trovassero nella tua stessa situazione... In questi casi di solito si cerca di spostare il codice eseguibile dalla main al costruttore o ad un terzo metodo chiamato dalla stessa main per poi richiamare tale metodo nelle occorrenze successive. Ad esempio: Classe chiamata (con main) Codice:
public class Classe1 { public Classe1() {} public Classe1(String args) { // codice eseguibile: // pastrugno coi parametri } public static void main(String[] args) { // delego all'istanza della classe // l'esecuzione del codice eseguibile. new Classe1(args); } } Codice:
public Classe2 { private Classe1 C1; // al posto di chiamare la main, utilizzo il // costruttore o un // secondo metodo che abbia all'interno il // codice eseguibhile. C1 = new Classe1("pippo", "pluto", "paperino"); public Classe2() {} } NOTA: L'overload del costruttore è necessario, in quanto .. se non lo facessi, il codice eseguibile verrebbe chiamato sia all'atto della costruzione della classe, che dalla main, nel caso in cui lanciassi tale classe col comando java... Bye Ultima modifica di P8257 WebMaster : 16-09-2004 alle ore 13.31.10 |
16-09-2004, 15.43.40 | #6 |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Tutto perfetto, grazie Web! (Y)
Eh, averla potuta scrivere io quella classe... Purtroppo fa parte di una libreria che ho scaricato, e si integra in un altro programmone mega galattico, e metterci le mani è un po' una tragedia... e i geni che l'hanno scritta, hanno fatto le API Java per tutto il resto, tranne che per usare sta classe, che può essere solo fatta partire dal main, perchè ha tutto lì dentro Per vedere cosa faceva ho dovuto usare un bel convertitore .class -> .java, altrimenti mi sognavo di far funzionare il tutto Era un po' che non ti si vedeva, tutto bene? |
16-09-2004, 17.27.55 | #7 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Ah .. ok .. lo dicevo in linea di massima ... pensavo che l'applicativo fosse proprio stato progettato così ..
L'hai usato il decompilatore eh .. ;-).. meno male che c'é .. certe volte serve.. ... Si, proprio dei geni a mettere tutto nella main.. un bel "metodone" e non ci si pensa più .. scritto da gente che ha sempre programmato procedurale, cosa ci scommetti? ... Bye P.S.: ho latitato.. prima le vacanze, poi il lavoro mi rincorreva .. ma per fortuna sono più veloce di lui .. P.P.S.: sto mettendo giù le specifiche della battaglia navale, conto anche su di te! |
17-09-2004, 10.58.28 | #8 |
Non ci cite niente?
Top Poster
Registrato: 19-03-2001
Loc.: MilanoRossoNera
Messaggi: 4.095
|
il JAD rulla
___________________________________
Vuoi il link del programma che ti ho appena consigliato? Clicca qui Vuoi sapere il perchè del mio sotto-nick? Premi ALT-F4 ..::LaMiaConfigurazione::.. |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
[Java] - Classe non trovata | Alhazred | Programmazione | 0 | 19-02-2008 23.35.29 |
[*BUNTU] problema riproduzione video con aixgl | Paramir | Linux e altri Sistemi Operativi | 5 | 30-11-2006 15.35.43 |
[JAVA] Chiarimento sulla classe BufferedReader | Downloader | Programmazione | 1 | 23-11-2006 14.12.47 |
[*BUNTU] un buon source.list per apt-get (synaptic) vi puo' essere utile by puma7911 | puma7911 | Linux e altri Sistemi Operativi | 1 | 13-11-2005 20.23.28 |
[Java] Caricare dinamicamente un jar e usare tutte le sue classi | Dav82 | Programmazione | 9 | 06-12-2004 21.14.17 |