bah ouai desole
mais j'avais jamais fait gaffe au static
d'ailleurs pleins de potes se sont aussi foutu de ma gueule...
:-(
personne n'est parfait
darklord22
benou a écrit a écrit :
c'est clair qu'on s'est tous fait avoir par ca au début !
:sol:
Cherrytree
benou a écrit a écrit :
c'est clair qu'on s'est tous fait avoir par ca au début !
I was a newbie, I, I, I was a newbie (air connu (au choix))
gfive a écrit a écrit :
Maieuuh, c'était pas méchant!! :)
Ouais, ouais. :D
gfive
Maieuuh, c'était pas méchant!! :)
benou
c'est clair qu'on s'est tous fait avoir par ca au début !
Cherrytree
gfive a écrit a écrit :
Bah oui..Tes méthodes repaint() et addMouseListener() ne sont pas statiques : elles doivent être appellées depuis une instance de ta classe...
Tu connais quoi, à la programmation orientée objet?? Apparament, tu t'es peut être lancé dans Java un peu vite...
Bon, alors, il faut que tu commences par créer une instance, avec un constructeur, puis, tu appelles les méthodes sur cette instance!
Non, non, faut pas dire ça. D'abord c'est une erreur courante au début, quand le philosophie objet n'a pas montré toutes ses facettes. Ensuite, il faut reconnaître que lorqu'on réalise son premier vrai travail en Java, on a souvent plusieurs problèmes à résoudre : des problèmes techniques (comment faire... ?) et des problèmes d'agencement, de construction (comment bien faire... ?). Il faut laisser un peu de temps à notre ami, mais ça viendra.
darklord22
gfive a écrit a écrit :
Bah oui..Tes méthodes repaint() et addMouseListener() ne sont pas statiques : elles doivent être appellées depuis une instance de ta classe...
Tu connais quoi, à la programmation orientée objet?? Apparament, tu t'es peut être lancé dans Java un peu vite...
Bon, alors, il faut que tu commences par créer une instance, avec un constructeur, puis, tu appelles les méthodes sur cette instance!
ca s'arrange pas hein ! :p
tomburn
bah merci ca marche maintenant
:-)
gfive
Bah oui..Tes méthodes repaint() et addMouseListener() ne sont pas statiques : elles doivent être appellées depuis une instance de ta classe...
Tu connais quoi, à la programmation orientée objet?? Apparament, tu t'es peut être lancé dans Java un peu vite...
Bon, alors, il faut que tu commences par créer une instance, avec un constructeur, puis, tu appelles les méthodes sur cette instance!
tomburn
ok, j'ai mis public static void main (String[] arg)
maintenant ca compile pas :-)
dans le main j'appelle repaint() et addMouseListener(ma)
or y me dit qu'elles ne sont pas static, et que j'ai pas le droit de les appeler dans un contexte static
?
gfive
Cherytree : pas assez rapide, petit scarabé!! :p
Cherrytree
'tain, gfive tu m'as grillé de 20 secondes :fou:
Cherrytree
La signature de la méthode main est importe : elle est
Code :
publicstaticvoid main(String[] args)
A part peut-être des variation de nom sur l'argument, le reste est et doit être comme je l'ai écrit.
gfive
Elle est pas statique, ta méthode???
Il faut public static void main...
Ca te dit qqchose,une méthode statique?? Bon, si tu sais pas, c'est une méthode d'une classe, qui ne se réfère pas à une instance de la classe : et c'est précisément pour ça que la méthode main doit être statique : au démarrage, la JVM n'a aucune instance de la clase appellée pour ionvoquer des méthodes!!
tomburn
ben justement si ca qui m'embetes, car j'en ai une public void main(String [] arg)
et puis a priori pas d'erreurs de syntaxe puisque ca compile...
gfive
ben t'as pas de méthode
public static void main(String[] args)
dans la classe que tu appelles!!!
C'est cette méthode qui est appellée par la JVM quand tu fais
java MaClasse
ouala!!
tomburn
voila quand je veux executer mon prog en java,
j'ai cette exception:
Exception in thread "main" java.lang.NoSuchMethodError: main
et je sais pas a quoi ca correspond :-(
sinon tt compile nickel...