begin process at 2010 03 20 22:55:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Général

 > 

Comment declarer plusieurs classes dans un fichier java


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment declarer plusieurs classes dans un fichier java

jeudi 9 novembre 2006 à 16:29:52 | Comment declarer plusieurs classes dans un fichier java

jb36123

Bonjour a tous,
Je cherche le moyen de declarer plusieurs structures de données dans un seul fichier java (donc plusieurs classes). Ces structures etant publiques pour être utilisées dans d'autres classes. J'ai essayé de declarer un "package" mais j'ai toujours ce message d'erreur: "xxxx is public should be declared in a file named xxx.java". Je n'ai pas envie de faire un fichier java par structure de données ! Il doit bien y avoir un myen de faire ca plus simplement.
Bref un peu d'aide me ferai du bien ...

exemple testé sans succés:
soit fichier toto.java, dans un sous-repertoire "truc":
package truc;
public classe test_classe1 {
   int champ_x;
   int champ_y;
}
public classe test_classe2 {
   int champ_x;
}

Fichier tutu.java:
import truc.*

methode (){
  test_classe1 x = new test_classe1();
  test_classe1 y = new test_classe2();
}

merci  d'avance
jeudi 9 novembre 2006 à 17:18:33 | Re : Comment declarer plusieurs classes dans un fichier java

Ombitious_Developper

Salut:

Tu peux définir autant de classes que tu veux au sein d'un même fichier source.
La seule convention que tu dois repeccter c'est :

1. Une seule classe doit être déclarée public.
2. Le fichier source doit porter le nom de la classe qui est déclarée publique.
3. Si une méthode main a était définie elle devra nécessairement être au sein de la classe déclarée publique.
jeudi 9 novembre 2006 à 18:05:32 | Re : Comment declarer plusieurs classes dans un fichier java

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

plusieur cas possible (testé avec le jdk 1.5)

fichier Test.java

public class Test{
    ......
}
class Test2{
    ......
}
class TestN{
    ......
}


autre cas fichier Test.java
public class Test{
     private class Test2{//ici impossible d'y mettre des methodes static de plus reste non visible pour les autres
        ......
    }
    private class TestN{//ici impossible d'y mettre des methodes static de plus reste non visible pour les autres
        ......
    }
}

autre cas fichier Test.java
public class Test{
     private static class Test2{//ici possible d'y mettre des methodes static etreste non visible pour les autres
        ......
    }
    private static class TestN{//ici possible d'y mettre des methodes static et reste non visible pour les autres
        ......
    }
}

autre cas fichier Test.java
public class Test{
     public static class Test2{//ici possible d'y mettre des methodes static etreste visible pour les autres
        ......
    }
    public static class TestN{//ici possible d'y mettre des methodes static et reste visible pour les autres
        ......
    }
}

pour le dernier cas si tu veux creer une instance de Test2 tu peux faire :
Test.Test2 test2 = new Test.Test2();


------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
jeudi 9 novembre 2006 à 18:44:36 | Re : Comment declarer plusieurs classes dans un fichier java

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

petite précisition concernant
Test.Test2 test2 = new Test.Test2();
cela ne vaut que si tu veux creer l'instance en dehors de la classe si tu es dans la classe mere tu peux simplement faire
Test2 test2 = new Test2();



------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
vendredi 10 novembre 2006 à 12:56:48 | Re : Comment declarer plusieurs classes dans un fichier java

JBAware

A ce sujet...

Quelqu'un peut me rappeller l'interet des InnerClass ?

Merci

[font=Times New Roman][8D] JB@WAre[/font=Times New Roman]

vendredi 10 novembre 2006 à 14:52:17 | Re : Comment declarer plusieurs classes dans un fichier java

super_toinou

Yopla, mon pote google donne : http://pages-perso.esil.univ-mrs.fr/~tourai/Java/node15.html#SECTION021310000000000000000 ++ Toinou
samedi 11 novembre 2006 à 21:41:43 | Re : Comment declarer plusieurs classes dans un fichier java

Yenapa

JBAware:
Les innerclass sont tres pratiques pour definir les listeners par exemple
pour un jbutton:
JButton jb = new JButton("Bouton");
jb.addActionListener(new ActionListener() {
   ....
});

ou encore:

class ClasseEnglobante extends JFrame {
   private ActionListener myListener = new ActionListener() {
         ...
   }
   
   ...
   public ClasseEnglobante() {
      ...
      for(int i = 0; i < 3; i++) {
         JButton jb = new JButton("Bouton " + i);
         jb.addActionListener(myListener);
         add(jb);
   }
   ...
}

En plus, les inner-class permettent d'acceder aux attributes de la classe englobante (meme si ils sont privés), c'est assez pratique des fois, meme si c'est assez sale.

Bon apres, pour les puristes, on peux toujours se passer des inner class :)
samedi 11 novembre 2006 à 21:44:12 | Re : Comment declarer plusieurs classes dans un fichier java

super_toinou

Yopla,
je me permet juste de rajouter (enfin il me semble) que dans le premier cas c est une classe anonyme et que dans le deuxieme c est une innerclass.
++ Toinou

samedi 11 novembre 2006 à 23:43:24 | Re : Comment declarer plusieurs classes dans un fichier java

Yenapa

Tout a fait,
mais une classe anonyme n'est elle pas une inner class?
lundi 13 novembre 2006 à 13:30:59 | Re : Comment declarer plusieurs classes dans un fichier java

super_toinou

yepla, c vrai pour moi c est juste qu elle est réutilisable c tout !! c etait juste un complément d information pour le vocabulaire :D ++ Toinou


Cette discussion est classée dans : fichier, java, test, classes, declarer


Répondre à ce message

Sujets en rapport avec ce message

FileNotFoundException [ par Nactarus ] Salut je dois réaliser un parser de fichier et déjà rien qu'à essayer d'ouvrir  le fichier ca plante... pouvez-vous m'aider? Code: import java.io.*; Ecriture dans un fichier 'portable' [ par Atmaweapon ] Bonjour, J'aimerais connaitre une façon 'portable' de transferer des données via un fichier. Par 'portable', j'entend une compatibilité entre les diff Probleme JavaBean [ par cuber ] Bonjour, je débute en JSP et je souhaite tester un JavaBean dans une page JSP, (page jsp: test.jsp et le bean Test.java) la page test.jsp se trouve da JBLink java pour 1 carte IPJV [ par javalegrand ] Y a t il quelqu'un qui peut m'aider?Quand je compile mon programme qui contient 3 class, javac me fourni 3 fichier .class dans mon repertoire de trava Ouvrir un fichier en java [ par yamxx ] Existe t-il une commande en java permettant d'ouvrir par exemple un .DOC avec Word. Un truc genre comme en C exec(nom_fichier, application); structurer fichier texte avec xml [ par emiraMh ] bonjour,chui en train de développer une application réseau avec java ; écoute du port 514, enregistrement des paquets reçus dans des fichiers textes ( Chargement d'un fichier binaire dans une jsp [ par Biggooch ] Bonjour, j'ai une petite question : Je voudrais charger un fichier binaire (en fait, c'est une hashtable sérialisée) à partir d'une JSP. <tabl pblms_java [ par sam_12_3 ] salut tout le monde, la je  fait en java une petite application qui va gerer une bibliotheque j'ai fait un diagramme des classes (avec comme classes: java et excel - comment le modifier ?? [ par Keshe ] Salut J aimerai savoir comment on modifie un fichier excel deja exitant j arrive a le lire le créer mais pas le modifier avec le packetage JXL je pens <<no stack trace available>> après lecture d'un très gros fichier [ par Sarah_tn ] Bonjour à tous !!!Désolée si le sujet est redondant, mais je n'ai pas trouvé mon bonheur dans le forum (et sur le net, évidement).Voila mon problème :


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,388 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales