Statique dans objet ?

Étienne9 Messages postés 1022 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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   Statut Membre Dernière intervention   49
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020 > Étienne9 Messages postés 1022 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   49 > Étienne9 Messages postés 1022 Date d'inscription   Statut Membre Dernière intervention  
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020 > Étienne9 Messages postés 1022 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   49 > Étienne9 Messages postés 1022 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   49
 
Le fishing c'est carrément le site commentcamarche qu'il dit que c'est du fishing...
0
noctambule28 Messages postés 33382 Date d'inscription   Statut Webmaster Dernière intervention   2 857
 
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   Statut Membre Dernière intervention   49
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020 > Étienne9 Messages postés 1022 Date d'inscription   Statut Membre Dernière intervention  
 
0