Variable java

Fermé
Emilie - 5 sept. 2010 à 18:24
 Emilie - 9 sept. 2010 à 01:03
Bonjour,


je voudrais savoir s'il y a un moyen de déclarer en java une variable globale à plusieurs classe qui sont dans différents fichiers
Merci d'avance pour votre aide

A voir également:

3 réponses

dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 63
5 sept. 2010 à 18:46
Salut, oui il suffit de déclarer une variable d'instance en publique.
0
Salut dariumis, merci c gentil, mais est-ce que tu pourrais être plus clair, g pas compris, et surtout je sais pas comment le faire, tu pourrais me donner le code stp? et ce code je peux le mettre avant la déclaration de la classe c ça? merci encore
0
dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 63
Modifié par dariumis le 6/09/2010 à 11:06
Ok:
public class Test{         
    //c'est ici que tu declare la variable d'instance en public         
    public int VariablePublic;       
    Test() {         
        VariablePublic=2;   
    }         
}         


Puis dans un autre fichier present dans le même package

tu fais:
Test t=new Test();
//on passe la variable du fichier Test a la variable local i         
int i=t.VariablePublic;         


si tu es dans un autre package il faut importer le package, mais c'est mieux de faire des accesseurs.
0
cc, merci, je sais ke je te saoule dsl, mais le truc, c ke à la déclaration de la variable public, dans la classe "contenue", il ya erreur je peux pas écrire public int variablepublique, le public n'est pas permis, du coup, lors de l'appel, il accepte l'appel à la classe "contenue" mais il ne reconnait pas la variable "variablepublique", t'as une autre idée?

ben merci encore, sincèrement merci pour la peine que tu te donnes
0
dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 63
Modifié par dariumis le 6/09/2010 à 11:26
Désolé mais j'ai modifier legerement le code j'ai appelé contenue->test et deux trois autre modif, je ne pensais pas que tu aurais eu le temps de voir la premiere version, normalement ça devrait marcher. Mais en général tu utilise cette façon de faire pour instancier l'objet possedant la variable d'instance public comme parametre de son propre constructeur, heuuu... difficile d'être clair. Je te montre un de mes codes ça va peut etre t'aider:


public class EnvoiPath {      
    public static int envoyerDossierEtFichier = 0;      
    public static int envoyerDossier = 1;      
    public static int envoyerFichier = 2;      
    public EnvoiPath( int afficheComposant) {      
       .......      
    }      
}      

Interresse toi simplement aux variable d'instance au début du code. Mais comme ça je peux instancier cet objet de cette maniere:

EnvoiPath e = new EnvoiPath(EnvoiPath.envoyerDossier);       

Mais si tu veux simplement transferer une variable entre deux class déclare plutot ta variable d'instance en privé et fait une méthode public de type get.

public class ListeDossier {      
    private boolean deconnect;      
    public boolean getBool() {      
        return deconnect;      
    }      
    public ListeDossier(File dossier, int AfficheComposant) {      
        .....      
    }      
}      
0
merci waw, mais je dois dire ke g eu du mal à déchiffrer, au fait c surtt le 2ème code qui était susceptible de m'aider, on dirait que non, je croit ke ca va pas être possible g pa de chance, pourtant il fo absolument ke je trouve une solution:
bon pour faire cours jvai directement te dire mon problème et si tu peux ma'ider tant mieux, sinon au moins ça évitera que je te dérange en core plus ke je ne l'ai fait ok:

je cherche à avoir une variable de type int qui soit globale à plusieurs classe présentes sur différents fichiers, pour pouvoir envoyer un Identifiant à travers les servlets pour pouvoir identifier un utilisateur et travailler sur ses informations, et là je n'y arrive pas
au fait ton code
package ServeurEnvoiPath;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class ListeDossier {
private boolean deconnect;
public boolean getBool() {
return deconnect;
}

protected ListeDossier(File dossier, int AfficheComposant) {
.....
}
}
ne fonctionne pas avec le type int, ou alors je ne sais pa le faire,
mais tu sais je te remercie bcp tu en as déjà fait bcp, y a pas de soucis si t'es occupé, je te dis bonne continuation , bye
0
choubaka Messages postés 39407 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 9 décembre 2024 2 104
6 sept. 2010 à 07:35
Salut

Pour que cela fonctionne avec un int, tu dois forcément modifier la méthode.

private int variableInt;
public int getVariableInt(){
return variableInt;
0
dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 63
Modifié par dariumis le 6/09/2010 à 11:27
Pour faire ce que tu veux je pense qu' il faut mettre la variable d'instance et la fonction de type get en static, car si elle n'est pas static tu es obligé d'instancier l'objet dans lequel est présent ta fonction.
Sinon poste la partie minimal de ton code qui pose probleme.
EDIT: J'ai épuré les codes au dessus.
0