Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2629 connectés 

  FORUM HardWare.fr
  Programmation
  Java

   l'appelle d'une méthode add(..)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

l'appelle d'une méthode add(..)

n°2215175
aminaxs
Posté le 07-01-2014 à 09:37:56  profilanswer
 

Bonjour ;  
j'ai besoin de l'aide ! je n'arrive pas à comprendre pourquoi la methode add de la classe computer qui sera appeler lors de m.add(9,5) et non pas de SuperComputer ???  et merci d'avance
 
 
public class Computer
{
    public static int add (int a, int b)
    {
        return a + b;
    }
}
public class SuperComputer extends Computer
{
    public static int add (int a, int b)
    {
        return 0;
    }
}
public class Test
{
    public static void main (String[] args)
    {
        Computer pc = new SuperComputer();
        int sum = pc.add (9, 5);
        System.out.println (sum);
    }
}


Message édité par aminaxs le 07-01-2014 à 09:46:23
mood
Publicité
Posté le 07-01-2014 à 09:37:56  profilanswer
 

n°2215178
Riokmij
Blink and you're dead
Posté le 07-01-2014 à 09:54:19  profilanswer
 

Tes méthodes "add" sont déclarées "static", elle sont donc définies au niveau de la classe, pas de l'instance.  
 
Il n'y a pas besoin du "new SuperComputer()", et les appels devraient se faire via "Computer.add(...)" ou "SuperComputer.add(...)".  
 
Même si Java accepte les appels via une instance comme tu le fais, c'est fortement déconseillé. C'est en fait le compilateur qui va transformer l'appel à la méthode en un appel statique, en regardant uniquement le type de la variable (et pas le type réel de l'objet, qui n'est pas forcément connu à la compilation). Donc dans ton cas, le compilateur va transformer "pc.add(9, 5)" en "Computer.add(9, 5)", ce qui explique le résultat que tu obtiens.
 
Pour obtenir ce que tu veux, tu peux simplement enlever le mot clé "static" sur tes méthodes "add".


---------------
Are you two fucking? Are you serious? Right in front of my salad?!
n°2215181
aminaxs
Posté le 07-01-2014 à 10:01:24  profilanswer
 

ahh je vois mercii beaucoup riokmij :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

   l'appelle d'une méthode add(..)

 

Sujets relatifs
[Noob] Quel outil ou méthode de programmation pour ce projet ???Méthode de Runge-Kutta
Bouton a cassé méthode autofillutiliser la méthode POST et load('ur','div') en même temps
changer printf par une autre methodeProblème d'affectation ( methode hongroise )
Pourquoi un ajout obligatoire de méthode avec MouseListener ?méthode de recherche récursive d'un noeud en XML avec JDOM
[Canvas] pb : ma méthode repaint() n'appelle pas mon paint() !Erreur de compilation / comment on appelle une methode d'une class?
Plus de sujets relatifs à : l'appelle d'une méthode add(..)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR