PDA

View Full Version : [JAVA] metodi statici


maforast
21-04-2006, 14:59
Salve ragazzi avrei un problema alla chiamata del metodo
NeuronLayer.setFibredNeurons(fn);

mi esce un errore durante la compilazione ke dice:

no stati method setFibredNeurons(fn) cannot be referenced from a static context

mi sapreste dire a cosa è dovuto?
considerando che la classe NuronLayer non mi pare essere statica dal momento ke davanti al costruttore non ho messo niente e la classe è pubblica...

grazie

VICIUS
21-04-2006, 15:03
Stai cercando di chiamare un metodo non statico da una funzione statica. Devi prima allocare una nuova istanza della classe e poi usare quella per chiamare la funzione.

ciao ;)

maforast
21-04-2006, 15:12
ma se istanzio un nuovo oggetto Neural layer poi non è che la funzione setFibringneuron non mi va a modificare il neuroni di quel layer ma un altro visto ke è un'altra istanza?


void setFibredNeuron(int fn)
{
NeuronLayer.setFibredNeurons(fn);
}
il metodo è questo come dovrei fare secondo te me lo puoi scrivere?

aiutami ti prego


Stai cercando di chiamare un metodo non statico da una funzione statica. Devi prima allocare una nuova istanza della classe e poi usare quella per chiamare la funzione.

ciao ;)

maforast
21-04-2006, 15:21
void setFibredNeuron(int fn)
{
NeuronLayer neurlay=new NeuronLayer();
neurlay.setFibredNeurons(fn);
}
Ho fatto così credi ke vada bene io non tanto.... :(

Stai cercando di chiamare un metodo non statico da una funzione statica. Devi prima allocare una nuova istanza della classe e poi usare quella per chiamare la funzione.

ciao ;)

VICIUS
21-04-2006, 15:46
ma se istanzio un nuovo oggetto Neural layer poi non è che la funzione setFibringneuron non mi va a modificare il neuroni di quel layer ma un altro visto ke è un'altra istanza?


void setFibredNeuron(int fn)
{
NeuronLayer.setFibredNeurons(fn);
}
il metodo è questo come dovrei fare secondo te me lo puoi scrivere?

aiutami ti prego
Non conosco NeuronLayer ma quasi sicuramente per avere almeno un layer devi prima istanziarlo quindi richiamando NeuronLayer.setFibredNeurons(fn); non modifichiresti niente ed infatti non funziona.

ciao ;)