begin process at 2010 03 20 03:12:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Débutant(e)

 > 

static ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

static ?

vendredi 11 janvier 2008 à 10:42:44 | static ?

chocobarbe

Bonjour à tous !

Voila, je prends des leçon de Java, pour me rafraichir la mémoire (puisque j'y ai un peu touché pendant mes études) et je ne comprend pas comment utiliser le mot static, ni à quoi il sert, que ce soit dans public static void main(String[] args), ou dans une déclaration de variable.

Quelqu'un pourrait m'expliquer avec quelque exemple svp ?

Merci d'avance !
vendredi 11 janvier 2008 à 14:19:53 | Re : static ?

plop3000

Bonjour,

Une méthode static est une méthode qui n'est pas rattachée à un unique objet. Imaginons un objet Personne. Soit deux objets de cette classe créée comme ceci : Personne pers1 = new Personne() et Personne pers2 = new Personne();
Si tu as une méthode xxx() qui est défini en static dans la classe Personne, tu ne peut pas faire quelquechose du genre pers1.xxx(). En effet la méthode est globale et non pas définie  pour une instance précise de l'Objet Personne.

Pour un attribut static c'est un peut la meme logique. Si tu déclare ceci : private int plusVieillePersonne (dans la classe Personne toujours)
Alors tout les objets que tu créeras par la suite (ex : pers1 et pers2) auront accès à cette variable, dans le sens où si pers1 modifie la valeur de plusVieillePersonne alors elle sera modifiée aussi pour pers alors que pers2 n'a rien demandé. Bref, un attribut static est un attribut qui peut être partgé par plusieurs objet de la même classe

Remarque : ainsi pour accéder à la variable plusVieillePersonne, il faudra faire "Personne.plusVieillePersonne et non pas pers1.plusVieillePersonne.

Voila, j'espère ne pas avoir dit de bêtises (corrigez si nécessaire bien sûr)
vendredi 11 janvier 2008 à 14:44:53 | Re : static ?

KenZara

Bonjour,

Concernant le mot static, c'est un mot clé qui désigne que ta variable n'est pas spécifique à un objet mais à toute ta classe par exemple, supposons que tu as une classe Toto et que tu as créé deux instances de cette classe donc:
Toto a;
Toto b;
Et que tu as une variable déclarée en static (par exemple static string jesuisstatic).
Le fait de faire a.jesuisstatic = "Yes!" va automatiquement se voir chez "b"
donc un System.out.println(b.jesuisstatic); va te renvoyer: Yes!
Concernant les méthodes static, ils permettent d'agir (modifer/accéder) au variable de la classe.

Voili voilou :)
Kenza
lundi 14 janvier 2008 à 09:33:45 | Re : static ?

chocobarbe

Bien bien bien !

J'ai compris pour une variable déclarer en static. Elle est modifiable pour toutes les méthode de la meme classe.

Mais j'ai un peu de difficulté pour comprendre le static dans une methode, pourriez vous me donner un exemple supplémentaire s'il vous plait.

Merci !
lundi 14 janvier 2008 à 11:12:01 | Re : static ?

KenZara

Réponse acceptée !
    Bonjour,

Pour mieux t'expliquer ce qu'est une méthode statique, faisons simple.
Imaginons que tu as la classe JechercheàComprendre, qui a une variable déclarée comme suit:
static boolean compris = false;
Et que je veux avoir une méthode qui permet de modifier cette variable là.
Dans ce cas je ferais un:
static void modifierMafacondevoir (boolean mafacondevoir){
compris = mafacondevoir;
}

(Je caricaturise pour les noms de classe). Bref, cette méthode là (modifiermafacondevoir) ne peut être appeler par aucune instance de la classe JechercheàComprendre.
Tu ne peux donc pas faire un truc du style JechercheàComprendre moi = new JechercheàComprendre(); et de faire ensuite moi.modifiermafacondevoir();
Mais pour pouvoir modifier ou accéder à cette méthode, il faut faire un truc du genre:
JechercheàComprendre.modifiermafacondevoir(true);
En gros tu peux dire que la méthode est globale pour la classe.

Supposons que ma méthode n'est pas statique, dans ce cas tu ne peux en aucun cas l'appeler de la sorte: JechercheàComprendre.modifiermafacondevoir(true); mais il faudra l'appeler pour chaque objet de ta classe.

Un autre exemple, dans Java, tu as des classes style Math :) ... Pour pouvoir utiliser les méthodes de cette classe, tu n'as aucunement besoin de créer une instance de cette classe puisque la méthode statique appartient à la classe elle-même.

Note: Les méthodes statiques ne peuvent pas accéder aux variables non statiques, ce qui est normal vu que la méthode est appelée par la classe elle même et non l'instance.

Kenza
mardi 15 janvier 2008 à 15:49:49 | Re : static ?

chocobarbe

Merci les p'ti loup !


Cette discussion est classée dans : static


Répondre à ce message

Sujets en rapport avec ce message

Est ce possible? [ par VinZzZ ] Je me pose un question auquel j'espère quelqu'un aura une réponse, mais peut être que ce n'est pas possible en Java??On a crée une classe mère A et un Est ce possible? [ par VinZzZ ] Je me pose un question auquel j'espère quelqu'un aura une réponse, mais peut être que ce n'est pas possible en Java??On a crée une classe mère A et un Est ce possible? [ par VinZzZ ] Je me pose un question auquel j'espère quelqu'un aura une réponse, mais peut être que ce n'est pas possible en Java??On a crée une classe mère A et un Est ce possible? [ par VinZzZ ] Je me pose un question auquel j'espère quelqu'un aura une réponse, mais peut être que ce n'est pas possible en Java??On a crée une classe mère A et un emoticon + application Chat [ par Neriade ] Bonjour,j'ai besoin d'aide avec une application chat que je dois créer.Sur mon application, j'essaie d'ajouter des boutons/Icons qui retourne un gif d Question sur un "vector" déclaré "static" [ par joshua91 ] Salut la troupe!j'ai un pb à propos des données mises dans un vecteur.En effet, ma classe Banque possède un vecteur (déclaré "static") d'objet "Client Variables STATIC [ par BSide ] Bonjour,je ne comprends pas l'utilité des variables statiques. Qq1 peut-il m'en apprendre plus à ce sujet car j'ai du mal à comprendre ce que m'expliq Type STATIC (n°2) [ par BSide ] Bonsoir,j'ai un problème de compréhension du caractère "static" d'une variable ou d'une méthode. Je ne comprends pas vraiment à quoi ça sert. En quoi l'exposant en java ? [ par CHKDSK2K ] Bonjour quand je fait nbre1 = nbre1 + 2; cela fonctionne bien aucun probleme alors que quand je fait nbre1 = nbre1^2 il ne fait rien pq ? import java. Actualiser page Internet [ par CHKDSK2K ] Bonjour je voudrais faire un p'tit programme qui actualise une page internet apès x minutes ... Mais le probleme s'est qu'il ne veut pas afficher la p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,218 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales