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] initialisation d'attribut static et final?


Sujet :

Langage Java

  1. #1
    Membre régulier

    Inscrit en
    Février 2004
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 120
    Points : 80
    Points
    80
    Par défaut [Débutant] initialisation d'attribut static et final?
    salut @ tous,
    je voudrais savoir pourquoi le code suivant produit un message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    class Test
    {
    	private  static final int j;
    	public Test()
    	{
    	j=5;
    	}
    }
    --------------------------- Compiler Output ---------------------------
    cannot assign a value to final variable j
    	j=5;
            ^
    1 error
    lorsque je supprime le mot static le message d'erreur disparait
    Merci pour vos aides
    @+SALI

  2. #2
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    Le mot clé static
    Le mot clé final

    Ce code fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class Test
    {
       private  static final int j=5;
       public static Test()
       {
         System.out.println(j);
       }
    }
    En fait, final signifie que j est une constante. static signifie qu'elle n'est pas instanciable. Donc il faut lui affecter une valeur des sa création.
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 50
    Points : 59
    Points
    59
    Par défaut
    static signifie accessible sans instanciation
    final signifie constante et tu dois lui affecter sa valeur à la déclaration

    +++
    vandoor

  4. #4
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Je rajouterai pour les débutants java qui ont déjà pratiqué le C/C++ que le mot cléf java "final" correspond plus ou moins au mot cléf c++ "const".
    constante : initialisée une fois puis impossibilité de la modifier...

Discussions similaires

  1. [Débutant] Initialisation d'attributs.
    Par Baban29 dans le forum VC++ .NET
    Réponses: 19
    Dernier message: 18/12/2006, 18h01
  2. Modification d'un attribut static final
    Par n@n¤u dans le forum Langage
    Réponses: 8
    Dernier message: 19/06/2006, 17h19
  3. [Débutant(e)] JSP utilisation static....une autre
    Par tcgenrecom dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 01/03/2004, 15h27
  4. Réponses: 3
    Dernier message: 17/12/2003, 11h26

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