Statique dans objet ?

Fermé
Étienne9 Messages postés 1022 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 10 mai 2015 - Modifié par Étienne9 le 28/05/2013 à 18:16
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 29 mai 2013 à 21:11
Bonjour à tous,

Est-il possible en Java (programmation Objet) de mettre une méthode Statique dans un Objet ?

Imaginons que j'ai créé un objet Expression. Je peux faire la constante de pi en statique ou cela n'est-t-il pas objet ?

Cordialement et merci beaucoup d'avance.

2 réponses

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
28 mai 2013 à 18:21
Puisque pi est une constante statique, il ne faut pas la lier à un objet mais à une classe (c'est le principe du static), c'est d'ailleurs ce qui est fait dans la classe Math qui définit déjà la valeur public static final Math.PI
1
Étienne9 Messages postés 1022 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 10 mai 2015 49
28 mai 2013 à 18:24
Je ne comprends pas trop.
En tout cas, mettre du static dans une classe c'est possible ?
Quelle différence faites-vous entre classe et objet ?
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019 > Étienne9 Messages postés 1022 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 10 mai 2015
28 mai 2013 à 20:02
Un objet c'est une instance de classe, c'est à dire qu'il faut faire appel à un constructeur de la classe pour obtenir un objet qui a une valeur.
Alors qu'une classe ce n'est que la structure qui permet de créer les objets.

Exemple : String est une classe, et "texte" est un objet de la classe String.

Si tu utilises le mot-clé static alors tu travailles sur la classe, pas sur un objet.
Ce que l'on fait avec la classe Math, c'est un appel statique Math.PI, on ne créé pas un objet Math m = new Math(); pour ensuite faire m.PI

"mettre une méthode Statique dans un Objet" n'a pas de sens, c'est même totalement contradictoire avec la définition de static.
0
Étienne9 Messages postés 1022 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 10 mai 2015 49 > Étienne9 Messages postés 1022 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 10 mai 2015
Modifié par Étienne9 le 28/05/2013 à 21:05
Pour les constantes PI etc il y a donc une classe statique ConstantesMaths c'est cela ? Et si on veut utiliser les constantes, faut importer ?
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019 > Étienne9 Messages postés 1022 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 10 mai 2015
28 mai 2013 à 21:09
Il n'y a pas besoin d'importer car la classe Math est dans le package java.lang (de même que tu n'as pas besoin d'importer String ou System)

Voir la documentation de la classe Math :
https://docs.oracle.com/javase/7/docs/api/java/lang/Math.html

Exemple :
System.out.println(Math.PI);
0
Étienne9 Messages postés 1022 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 10 mai 2015 49 > Étienne9 Messages postés 1022 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 10 mai 2015
28 mai 2013 à 21:27
Cette page a été déclaré comme étant du fishing... J'ai plusieurs sujets sur Commentcamarche bloqué par une barre. Apparemment la barre de la banque...
Enfin, ceci étant dit, c'est une classe complètement Constantes qui a été créé c'est ça ?
0
Étienne9 Messages postés 1022 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 10 mai 2015 49
28 mai 2013 à 22:28
Le fishing c'est carrément le site commentcamarche qu'il dit que c'est du fishing...
0
noctambule28 Messages postés 31877 Date d'inscription samedi 12 mai 2007 Statut Webmaster Dernière intervention 13 février 2022 2 858
29 mai 2013 à 10:29
Bonjour,

Tu pourrais être un peu plus explicite quant au fishing.
aurais-tu une capture d'écran, sous quel OS es-tu? Est-ce un logiciel qui t'avertit de cela?
Merci pour ces renseignements.
0
Étienne9 Messages postés 1022 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 10 mai 2015 49
29 mai 2013 à 21:01
Bonsoir,

Je n'en sais pas plus que vous. Voilà une capture :
http://hpics.li/30a8f4d

J'ai ça aussi sur le site grooveshark.

Cordialement
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019 > Étienne9 Messages postés 1022 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 10 mai 2015
29 mai 2013 à 21:11
0