prob d'exception [JAVA] - Programmation
Marsh Posté le 21-02-2002 à 15:04:32
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!!
Marsh Posté le 21-02-2002 à 15:11:27
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...
Marsh Posté le 21-02-2002 à 15:14:07
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!!
Marsh Posté le 21-02-2002 à 15:14:31
La signature de la méthode main est importe : elle est
Code :
|
A part peut-être des variation de nom sur l'argument, le reste est et doit être comme je l'ai écrit.
Marsh Posté le 21-02-2002 à 15:15:22
ReplyMarsh Posté le 21-02-2002 à 15:19:34
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
?
Marsh Posté le 21-02-2002 à 15:23:18
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!
Marsh Posté le 21-02-2002 à 16:05:58
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 !
Marsh Posté le 21-02-2002 à 17:00:24
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.
Marsh Posté le 21-02-2002 à 17:08:17
c'est clair qu'on s'est tous fait avoir par ca au début !
Marsh Posté le 21-02-2002 à 20:39:04
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.
Marsh Posté le 21-02-2002 à 20:40:12
benou a écrit a écrit : c'est clair qu'on s'est tous fait avoir par ca au début ! |
Marsh Posté le 23-02-2002 à 17:03:24
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
Marsh Posté le 21-02-2002 à 14:58:04
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...