Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
973 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA]static..........

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA]static..........

n°383297
ghiby
Posté le 05-05-2003 à 19:38:38  profilanswer
 

Dans un main, on est obligé d'appeler des fonctions 'static' ?
L'ensemble des fonctions que j'appele doivent etre 'static' ?
 
Je suis peut etre a l'ouest, dites le moi je suis un peu fatigué  :sleep:  
 
Merci

mood
Publicité
Posté le 05-05-2003 à 19:38:38  profilanswer
 

n°383303
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 05-05-2003 à 19:44:58  profilanswer
 

Dans l'ordre :
* oui si tu parles des fonctions de la classe où tu as défini le main. Sinon, il va de soit que tu peux tout à fait faire des trucs genre  
String s = "graou";
System.out.println(s.concat("hop" ));
concat() est une méthode de String qui n'est pas statique.
* oui.
 
Ton main est static donc forcément il ne peut avoir accès qu'à des méthodes statiques [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°383309
ghiby
Posté le 05-05-2003 à 19:52:19  profilanswer
 

//Dans Java_Chess.java
 
public static void main(String[] args){
 Jeu Chess = new Jeu();
 Jeu.Run();
}
 
 
//Dans Jeu.java
public class Jeu{
....
....
public void Run(){....}
....
}
-------------------------------------------------
Run doit etre defini en static ?
Cette fonction est exterieur a la classe ou le main est defini, je l'ai separé pour cela, mais j'arrive au meme pb


Message édité par ghiby le 05-05-2003 à 19:54:21
n°383313
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 05-05-2003 à 19:55:38  profilanswer
 

Plusieurs choses :
* nomme tes méthodes en commençant par une lettre minuscule. Genre run() ou encore convertToString().
* la méthode run() est la plupart du temps associée au fait que ta classe Jeu va implémenter java.lang.Runnable (ou dériver de java.lang.Thread) ; appeler une méthode run() sans que cela soit le cas peut conduire à des malentendus ou de mauvaises interprétations.
* ici, comme tu as appelé le constructeur de Jeu, tu as une instance de ta classe. Tu peux donc appeler n'importe quelle méthode publique de ton instance.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°383314
bobuse
Posté le 05-05-2003 à 19:56:13  profilanswer
 

ghiby a écrit :

//Dans Java_Chess.java
 
public static void main(String[] args){
 Jeu Chess = new Jeu();
 Jeu.Run();
}
 
 
//Dans Jeu.java
public class Jeu{
....
....
public void Run(){....}
....
}
-------------------------------------------------
Run doit etre defini en static ?
Cette fonction est exterieur a la classe ou le main est defini, je l'ai separé pour cela, mais j'arrive au meme pb
 


non ! Run() n'a pas besoin d'etre static si on suppose que c'est une méthode qui s'applique sur une instance de ta classe Jeu.


---------------
get amaroK plugin
n°383330
ghiby
Posté le 05-05-2003 à 20:12:37  profilanswer
 

Taiche a écrit :

Plusieurs choses :
* nomme tes méthodes en commençant par une lettre minuscule. Genre run() ou encore convertToString().
* la méthode run() est la plupart du temps associée au fait que ta classe Jeu va implémenter java.lang.Runnable (ou dériver de java.lang.Thread) ; appeler une méthode run() sans que cela soit le cas peut conduire à des malentendus ou de mauvaises interprétations.
* ici, comme tu as appelé le constructeur de Jeu, tu as une instance de ta classe. Tu peux donc appeler n'importe quelle méthode publique de ton instance.


 
C'est en recopiant pour les majuscules. C'est ok pour run() je comprends la confusion. Mais je ne peux pas l'appeler.
 
C:\Documents and Settings\Ghiby\Bureau\Java_Chess\Java_Chess.java:16: non-static method removeKey(father) cannot be referenced from a static context
 
"removeKey(father)" = Run() de mon exemple


Message édité par ghiby le 05-05-2003 à 20:14:31
n°383334
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 05-05-2003 à 20:14:19  profilanswer
 

Tu peux faire voir le bout de code où c'est appelé ?


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°383343
ghiby
Posté le 05-05-2003 à 20:24:21  profilanswer
 

public class TestBinarySearchTree{
 
  public static void main(String[] args){
 
 BinarySearchTree bt = new BinarySearchTree() ; // arbre vide
    ....
    ...
    ...
    bt.removeKey(father);
  }  
}
 
Je construis l'arbre dans le constructeur, C simplement un exercice pour comprendre une suppression à la racine. removeKey est la premiere methode d'instance que j'appelle aux pointillés il y a rien d'interressant.
 
public void removeKey(int key) {...} //dans une autre classe


Message édité par ghiby le 05-05-2003 à 20:25:51
n°383347
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 05-05-2003 à 20:26:48  profilanswer
 

father c'est quoi ?


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°383351
ghiby
Posté le 05-05-2003 à 20:32:34  profilanswer
 

c'est un entier, j'ai 2 types de remove, (je test un peu mon pouvoir d'improvisation et il est mauvais) removeKey(Node node) et removeKey(int key), j'ai 2 types d'arbres differents. Mais je crois que je vais faire une pause, recommencer proprement le code. Je me suis posé une question sur la suppression et j'ai rajouté ma sauce de partout, ce n'est pas comme ca qu'il faut travailler. Je recommencerais.
 
Merci de ta patience, et certainement a bientot sur le forum
 
*ghiby qui va pas tarder a dormir* :hello:

mood
Publicité
Posté le 05-05-2003 à 20:32:34  profilanswer
 

n°383352
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 05-05-2003 à 20:35:07  profilanswer
 

OK, ba pas d'problème :)
Sinon, pour le coup du static, j'pense pas que ça viendra de ça passke je fais tous les jours des appels à des méthodes publiques non-statiques une fois que j'ai l'instance de ma classe. Heureusement d'ailleurs passke sinon on serait super limité [:ddr555]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°383356
benou
Posté le 05-05-2003 à 20:38:58  profilanswer
 

doit y avoir un truc que tu nous a pas dis parce que ce que tu as montré comme code devrait fonctionner ...


---------------
ma vie, mon oeuvre - HomePlayer
n°383357
the real m​oins moins
Posté le 05-05-2003 à 20:40:17  profilanswer
 

ghiby a écrit :

//Dans Java_Chess.java
 
public static void main(String[] args){
 Jeu chess = new Jeu();
 Jeu.run();
}
 
 
//Dans Jeu.java
public class Jeu{
....
....
public void run(){....}
....
}
 
 

chess.run() .... :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°383358
the real m​oins moins
Posté le 05-05-2003 à 20:40:39  profilanswer
 

benou a écrit :

doit y avoir un truc que tu nous a pas dis parce que ce que tu as montré comme code devrait fonctionner ...

:non: relis bien
s'il notait ces instances sans majuscules, de meme pour les methodes, on aurait vu direct :o


Message édité par the real moins moins le 05-05-2003 à 20:41:04

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°383375
benou
Posté le 05-05-2003 à 20:57:40  profilanswer
 


relis bien toi même  :o
 

Code :
  1. public class TestBinarySearchTree{
  2. public static void main(String[] args){
  3. BinarySearchTree bt = new BinarySearchTree() ; // arbre vide  
  4.    ....
  5.    ...
  6.    ...
  7.    bt.removeKey(father);
  8. }
  9. public void removeKey(int key) {...} //dans une autre classe


Message édité par benou le 05-05-2003 à 22:58:15

---------------
ma vie, mon oeuvre - HomePlayer

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA]static..........

 

Sujets relatifs
[JAVA] Socket UDP et InputStream, probleme de readJava : Envoyer un mail protocole mapi
[JAVA] L'équivalent d'un #define en java ?[Java] Introspection et instances
Imprimer un fichier (HTML) en JAVA[Java][Livre] Apprendre !
[JAVA]Plein de questions de débutant[Java Unix] non-static method cannot be referenced from a static ...
[JAVA - SWING] pb de discussion entre mes éléments... static ?[JAVA] Question de débutant : notion de "static"
Plus de sujets relatifs à : [JAVA]static..........


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR