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

Langage Java Discussion :

[Débutant] Message d'erreur que je ne comprends pas


Sujet :

Langage Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 277
    Points : 230
    Points
    230
    Par défaut [Débutant] Message d'erreur que je ne comprends pas
    Mon programme me fait un message d'erreur bizarre :

    Cannot make a static reference to the non-static method getNfssName() from the type AbstractFont.Foundry
    dans la portion de code suivante (j'ai élagué ce qui ne me semble pas utile) :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    public abstract class AbstractFont {
     
    	public enum Foundry {
    		ADOBE,
    		APPLE,
    		BITSTREAM,
    		COREL,
    		IBM,
    		LINOTYPE,
    		MONOTYPE,
    		WOLFRAM ;
     
    		public String getNfssName() {
    			String res = new String() ;
    			switch(this) {
    			case MONOTYPE : res = "m" ;
    			case BITSTREAM : res = "b" ;
    			case APPLE : res = "e" ;
    			case IBM : res = "n" ;
    			case COREL : res = "o" ;
    			case ADOBE : res = "p" ;
    			case WOLFRAM : res = "w" ;
    			}
    			return res ;
    		}
    	}
     
    	Foundry foundry ;
    	String nfssName ;
     
    	public void updateNfssName() {
    		StringBuffer res = new StringBuffer() ;
    		res.setLength(0) ;
    		res.append(Foundry.getNfssName()) ;
    		...
    	}
    }
    Je ne vois pas trop où je fais une référence statique.

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Tu fais Foundry.getNfssName, c'est la ou tu fais une référence statique à ta méthode

    pourtant tu as bien instanciée Foundry. Pour y accéder de manières non-statiques, tu dois faire foundry.getNfssName

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 277
    Points : 230
    Points
    230
    Par défaut
    Oups

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. message d'erreur que je ne comprend pas
    Par lila23 dans le forum Bases de données
    Réponses: 16
    Dernier message: 17/02/2009, 09h34
  2. [Débutant] Message d'erreur que je ne comprends pas
    Par Mlezen dans le forum MATLAB
    Réponses: 4
    Dernier message: 12/02/2009, 15h35
  3. Un message d'erreur que je ne comprends pas
    Par KOUTO dans le forum Bases de données
    Réponses: 7
    Dernier message: 22/01/2009, 17h25
  4. Message d'erreur que je ne comprends pas
    Par yvkoe dans le forum Langage
    Réponses: 4
    Dernier message: 24/11/2007, 10h27
  5. J'ai un message d'erreur que je ne comprend pas
    Par Jonathan Raucy dans le forum IHM
    Réponses: 2
    Dernier message: 24/09/2007, 17h14

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