Les Allergies
Alimentaires
Posez votre question Signaler

Java>Static a koi ca peut bien servir

touffe - Dernière réponse le 30 mars 2012 à 14:03
Salut tt le monde!! c assez urgent mais j'ai besoin de savoir (partiel demain) a koi sert
static montype mavariable; et a koi ca peut bien servir aussi dans une optique objet
merci pour vos reponses , elles seront tres apreciee :)
Lire la suite 

Java>Static a koi ca peut bien servir »

14 réponses
Réponse
+31
moins plus
salut, declarer une variable static (ou meme une fct) signifie que ce membre n'est pas specifiq a un objet mais a la classe, tous les objets de la classe partagent cette meme variable. Et de ce fait tu peux y acceder ainsi : Maclasse.MonVarStatic
ex:
class UneClasse {
public static int counter = 0;
}

class Main {
public static void main (String []args) {
UneClasse un = new UneClasse (), deu = new UneClasse ();
un.counter++;
println (UneClasse.counter); // affiche 1
deu.counter++ ;
println (un.counter); // affiche 2
}
}

Voila, j'espere t'avoir eclairci.
tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
Ajouter un commentaire
Réponse
+2
moins plus
oki je te remercie ^^ tu me sauves la vie ,c pas rien :)
Ajouter un commentaire
Réponse
+2
moins plus
Merci de cette explication, beaucoup plus clair que beaucoup de pavé inutile !
Ajouter un commentaire
Réponse
+1
moins plus
C est limpiiiiiiiiiiiiiiiiiiiiiiiiiiiiide comme explication

Merci
Ajouter un commentaire
Réponse
+0
moins plus
class UneClasse {
public static int counter = 0; // le counter = 0
}

---------------------------------------------
class Main {
public static void main (String []args) {
UneClasse un = new UneClasse (), deu = new UneClasse ();
un.counter++;
System.out.println (un.counter); // ici le counter = 1
deu.counter++ ;
System.out.println (deu.counter); // ici puisque en a la constante et defenie comme static elle va prend le nouveau modification signifie counter = 1 pas zeros et si le counter n'est pas defenie static counter=1 puisque il reste toujour zeros donc dans ce cas le counter = 2;
}
}


juste une petite modification merci de votre bon reponse
tivoche - 11 déc. 2011 à 02:43
merci RaoufRoumanie ;-), très bien expliqué :)
Ajouter un commentaire
Réponse
+0
moins plus
class UneClasse {
public static int counter = 0; // le counter = 0
}
class Main {
public static void main (String []args) {
UneClasse un = new UneClasse (), deu = new UneClasse ();
UneClasse.counter++;
System.out.println (UneClasse.counter); // counter = 1
UneClasse.counter++ ;
System.out.println (UneClasse.counter); // counter = 2
}
}

Résultat d'exécution:
1
2
Ajouter un commentaire
Réponse
-2
moins plus
De toute façon il n'est jamais très bon de partager une ressource. C'est même fortement déconseillé.
111 - 30 mars 2012 à 14:03
+1
Ajouter un commentaire
Réponse
-4
moins plus
Bonjour,

Je veux pas dire mais cet exemple est complètement faux :

class UneClasse {
public static int counter = 0;
}

class Main {
public static void main (String []args) {
UneClasse un = new UneClasse (), deu = new UneClasse ();
un.counter++;
println (UneClasse.counter); // affiche 1
deu.counter++ ;
println (un.counter); // affiche 2
}
}

Tout ce qui est en gras est invalide, nous ne pouvons appeler la propriété counter que par le nom de sa classe : UneClasse.counter
burstedman - 7 mars 2009 à 01:58
Salut,

Je cherche justement à connaître la philosophie Java puisque j'ai un problème bien bizarre.
Soyons clair, la philosophie objet veut que :
-> un membre de classe (introduit par satic) ne peut être atteint que par la classe.
-> un membre d'objet (sans static donc) ne peut être que par un objet.
(nb: ce qui contredit tafiscobar et sur ce point là j'en suis certain)

Seulement voilà, j'ai une classe A et une classe A' Java.
A' hérite de A et A incrémente un compteur static dans son constructeur:

class A
{
private static int count = 0; //membre de la classe A
protected int id; //membre de tout objet de A
public A() { id = ++count; }
}

class A' extends A
{
public A'() { super(); /* censé incrémenter A.count */ }
}

Le problème c que pour tout les objets de A', id = 0 ????!!!!!
C'est comme si chaque objet de A' avait son membre count alors qu'il ne devrait exister qu'en un seul exemplaire dans la définition de la classe A.

Quelqu'un a une idée?
âne ô nîmes - 17 mars 2009 à 15:45
Le probleme vient peut-être du fait que ta variable statique est private au lieu de protected?
infotiste_n7 - 9 déc. 2009 à 21:04
Salut,
Vous avez tout à fait raison, sinon c'est quoi la difference entre une variable normale et variable static, en fait avec une variable , on peut lui faire ds une autre classe sans avoir à instancier le classe; ds l'exemple fourni le fait d'avoir declaré la variable n'aucun interet dans ce cas
Ciao, ciao ;)
Ajouter un commentaire
Ce document intitulé « Java>Static a koi ca peut bien servir » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?