IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Récupérer valeur d'une variable d'une autre class


Sujet :

avec Java

  1. #1
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Points : 1 667
    Points
    1 667
    Par défaut Récupérer valeur d'une variable d'une autre class
    Bonjour, je débute en java et j'ai créer une class où j'ai une variable de type private int test = 1; par exemple, dans une autre class, j'aimerais récupérer celle valeur et donc dans ma première class, j'ai créé le getTest() en public mais dans ma deuxième class, quand je fais private int test2 = getTest();, j'ai le message comme quoi la méthode getTest() est indéfinie pour ma class, comment puis-je faire svp?
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  2. #2
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Il faut que dans ta seconde classe tu ai un objet qui soit du type de ta première classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Classe1 classe1=new Classe1();
    classe1.getTest();
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  3. #3
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Points : 1 667
    Points
    1 667
    Par défaut
    Voilà le code de ma deuxième class:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    private int test = new int();
    test.getPort();
    Ca ne fonctionne pas apparemment pour les int, j'ai le message d'erreur que j'ai une erreur de syntaxe et que ma class type est invalide à la première ligne puis à la deuxième:
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Tu ne peux pas faire
    int est un type primitif. On ne peux pas l'instantier de cette façon. On ne peux pas appeler de méthode sur un int nom plus.
    Dans l'exemple que je t'ai donné j'ai utilisé Classe1 pour désigner le type de ta première classe (celle qui a l'attribut private test).
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Points : 562
    Points
    562
    Par défaut
    Comme guigui5931 a dit, dans le code de ta deuxieme classe, il faut avoir quelle chose come ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    private int test;
    Classe1 classe1=new Classe1();  // Ta Classe1
    
    test = classe1.getTest();          // Fonction qui renvoit la valeur test dans Classe1
    
    // ou getPort() ca depend comment tu definis ta fonction
    
    

  6. #6
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Points : 1 667
    Points
    1 667
    Par défaut
    Pour récupérer la valeur d'un String:

    Dans ma première class, j'ai fais ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private String host = hostJText.getText(); //récupération d'un JTextField()
    Donc dans ma deuxième class, je fois faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private String test;
    Interface interface =new Interface();  // Ta Classe1
     
    test = interface.getHost();
    ?

    Interface est donc le nom de ma première class..

    Petite erreur:
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 95
    Points
    95
    Par défaut
    Ce qui pose problème c'est la variable "interface". C'est un mot réservé du java. Renomme-le

  8. #8
    Membre actif Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Points : 254
    Points
    254
    Par défaut
    Citation Envoyé par absot Voir le message
    Pour récupérer la valeur d'un String:

    Dans ma première class, j'ai fais ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private String host = hostJText.getText(); //récupération d'un JTextField()
    Donc dans ma deuxième class, je fois faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private String test;
    Interface interface =new Interface();  // Ta Classe1
     
    test = interface.getHost();
    ?

    Interface est donc le nom de ma première class..

    Petite erreur:
    heu non si tu fais un new Interface(), tu va créer une nouvelle instance de Interface.
    D'ailleur le mot Interface tu devrai eviter c'est un mot clé de java.
    ce que tu peu faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    public Class1{
     String host =null;
     JTextField hostJText=null;
     Interface monInterface=null;
     //on va faire ca dans le constructeur pas exemple
     public Class1(){
     //... du code
     //tu met une valeur a host
     host=hostJText.getText(); 
    //plusieur solutions
     //1ere le constructeur de Inteface prend en parametre un String "host"
     monInterface=new Interface(host);
     //2nde Interface a un setter qui prend comme parametre un String "host"
     monInterface=new Interface();
     monInterface.setHost(host);
     //3ieme le constructeur prend en parametre une instance de Class1
     monInterface=new interface(this);
     //pour celle la te faut un getter sur host de Class1
     public String getHost(){
      return host();
     }
     }
    }
    et en fonction des solutions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
     
    public class Interface{
     String host=null;
    //1ere
     public Interface(String host){
      this.host=host;
     }
    //2nde
     public Interface(){
     }
     public setHost(String host){
      this.host=host;
     }
    //3ieme
     public Interface(Class1 precedent){
      host=precedent.getHost();
      //ou 
      this.setHost(precedent.getHost());
     }
    }
    C'est à toi de choisir la solution qui convient le mieux.
    La javaDoc est mon amie, elle est la tienne aussi!

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/06/2011, 12h45
  2. transmission des valeurs d'une variable d'une fonction a une autre
    Par Invité dans le forum GTK+ avec C & C++
    Réponses: 7
    Dernier message: 22/07/2009, 23h05
  3. Réponses: 0
    Dernier message: 21/01/2009, 13h52
  4. Réponses: 10
    Dernier message: 20/06/2007, 18h02
  5. [debutant]passager une variable d'une page a une autre
    Par Eisy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/03/2006, 11h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo