Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide : Rien ne se passe

Sujet résolu
    24 septembre 2011 à 16:01:43

    Bonjour,
    Je lance ce code mais il ne se passe rien

    Comment faire pour instancier la classe FileData ??


    public class Start extends JFrame {
    
    	
    	public static void main(String[] args) {
    		
    	}
    
    
    }
    

    public class FileData {
    	
    	
    	
    	{
    		
    		System.out.println("Bonjour ");
    	
    	}
    }
    

    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      24 septembre 2011 à 17:00:11

      Salut.

      Pour instancier FileData il faut faire new FileData(), sauf que tu n'as pas de constructeur dans ta classe FileData, donc ça ne fonctionnera pas.

      Lis le cours de Java du SdZ avant de poser ce genre de question...
      • Partager sur Facebook
      • Partager sur Twitter
        25 septembre 2011 à 1:01:21

        Je crois que vous devriez aller tous les deux relire un tuto de Java.

        @Vinz243 parce que franchement, instancier une classe est l'une des premières choses que l'on apprends dans les tutos.
        Ta première classe ne fait rien, la seconde ne correspond à rien (et je ne sais même pas si elle compile).

        @iM@x parce qu'il n'y a pas besoin d'avoir un constructeur dans une classe Java. S'il n'y en a aucun, le compilateur ajoute automatiquement un constructeur vide (pas de paramètre, ne fait rien mis à part initialiser les champs de la classe à leurs valeurs par défaut).
        • Partager sur Facebook
        • Partager sur Twitter
          25 septembre 2011 à 10:15:39

          @SpaceFox
          Merci je sais très bien qu'on peut instancier un objet d'une classe sans constructeur, mais je trouve que pour un débutant c'est une bonne habitude de le faire quand même, même si le constructeur est vide, juste pour apprendre ce qu'est un constructeur et quoi mettre dedans.
          Vu son code il n'a pas vraiment l'air de savoir ce qu'il fait (cf. la classe Start qui hérite de JFrame à priori sans raison), à moins qu'il n'ait pas posté tout son code.
          • Partager sur Facebook
          • Partager sur Twitter
            25 septembre 2011 à 12:17:28

            Non. C'est bien de le savoir,mais ça ne sert à rien de le mettre systématiquement.
            Mais surtout, il ne faut pas dire que quelque chose ne fonctionnera pas alors que c'est faux. Ça n'aide pas l'OP et ça l'induit en erreur.
            • Partager sur Facebook
            • Partager sur Twitter
              25 septembre 2011 à 17:37:51

              Salut,

              Pour répondre à ta question, je vais commencer par le commencement: la classe main est là ou se déroule l'"action principale" (si on peut appeler ca comme ca :p ), c'est à dire que c'est à l'intérieur de ses accolades que tu écrira ce qui se passera lorsque ton code sera compilé. Or, dans ton main, il n'y a RIEN d'écris : donc rien ne se passe (c'est logique ^^).
              Ensuite, pour ta classe FileData, elle... Ne fait rien du tout... Si tu veux qu'un message s'affiche, il faudrait que tu code un constructeur (cf les tutos sur java), un peu comme celui ci:

              public classe FileData{
              
                 public FileData(){
              
                     System.out.println("Bonjour");
              
                 }
              }
              


              Ceci fait, je peux juste te dire que cela crée un nouveau constructeur qui, lorsque un objet FileData sera instancié, écrira dans la console le message "Bonjour" (je vais pas tout dire quand meme :-° ).

              Donc pour le main, ca se passerait comme ca:


              public class Start extends JFrame {
              
              	
              	public static void main(String[] args) {
              
              		FileData file = new FileData(); // Ici, on instantcie un objet FileData
              
              	}
              
              
              }
              


              En espérant t'avoir aidé ;)
              • Partager sur Facebook
              • Partager sur Twitter

              Aide : Rien ne se passe

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown