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 :

petit problem en Java


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut petit problem en Java
    pour quant on écrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                    objet1.set("1");
    		objet2=objet1;
    		objet1.set("2");
    les deux objet aurons la même valeur c'est 2

  2. #2
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Bonjour,

    Je vais tenter de décrypter ta question, vu qu'il n y en a pas.

    2 choses:
    -> objet2 = objet1 ne créer pas un 'lien' entre tes 2 objets, les modifications futures sur objet1 n'affecteront pas objet2.

    Meilleur exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int a; 
    int b;
     
    a = 1;
    b = a;
    a = 2;
     
    // au final, a vaut 2 et b vaut toujours 1, c'est à dire la valeur de a au moment ou tu l'a affecté à b.
    -> objet2 = objet1 ne changera pas les attributs de objet2 en fonction de objet1, soit tu les 'set' un par un, soit tu clone objet1 (à prendre avec des pincettes).

  3. #3
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Bon alors j'ai lu ton message sur un autre post et j'ai mieux compris ta question.

    Donc si ils valent 2 tout les deux, c'est parce que lorsque tu fait objet2 = objet1, tu passes l'adresse de objet1 dans l'adresse de objet2.
    Ils référencent donc le même objet, c'est à dire objet1.

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    je vais essayer de reformuler ma question plus clairement

    j'ai la class suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class MyObjet {
    	String value; 
     
    	void set(String val){
    		this.value=val; 
    	}
     
    }

    et j'ai le programme main suivant


    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
    public class stribe {
     
    	public static void main(String[] args) {
     
    		MyObjet objet1= new MyObjet();
    		MyObjet objet2= new MyObjet();
     
    		objet1.set("1");
    		objet2=objet1;
    		objet1.set("2");
     
     
    		System.out.println (objet1.value+"*"+objet2.value);
     
    	} 
    }

    et quant j'exécute j'ai le résultat suivant 2*2 et je me demande pourquoi ?

  5. #5
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Voir ma précédente réponse .

  6. #6
    Futur Membre du Club
    Inscrit en
    Mars 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup
    tu viens de me sauver la vie.

    autre question, j'en profite je sais que j'abuse un peu.

    on m'a demander d'expliquer ce ce que cette class fait

    Son code source n'est pas disponible.
    Expliquer ce que l'action effectuée par cette classe quand il est exécuté.
    .class public Mystery
    .super java/lang/Object

    ; default constructor
    .method public ();
    ; push the reference to the current object on the stack
    aload_0
    ; call linked statically to constructors of the base class
    invokespecial java/lang/Object/()V
    return
    .end method

    .method public static main([java/lang/String;)V
    .limit stack 2
    getstatic java/lang/System/out Ljava/io/PrintStream
    ldc "abcdefgh"
    invokevirtual java/io/PrintStream/println(Ljava.lang.String;)V
    return
    .end method

  7. #7
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Elle est plutôt bizarre ta classe, il manque pas des bouts?

    Je te propose d'utiliser les balises codes à ta disposition et de mettre un peu en forme ce bout de code.

Discussions similaires

  1. Petit problème de fork
    Par osmose22 dans le forum Linux
    Réponses: 7
    Dernier message: 18/03/2007, 21h10
  2. [Math]Petit problème de math à résoudre en java
    Par kloss dans le forum Général Java
    Réponses: 17
    Dernier message: 23/12/2005, 19h45
  3. petit probleme avec l'éditeur de builder
    Par qZheneton dans le forum C++Builder
    Réponses: 2
    Dernier message: 28/10/2004, 16h19
  4. petit probleme de requete
    Par nico33307 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 25/08/2004, 11h36
  5. petit probleme dans une requte POSTGRE SQL
    Par ghis le fou dans le forum Requêtes
    Réponses: 5
    Dernier message: 08/09/2003, 13h51

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