-
Title:
Création d'une méthode statique - Introduction à la programmation en Java
-
Description:
19-19 Création d'une méthode statique
-
Alors, essayons ceci.
-
Je mettrais toute cette fonctionnalité
dans une méthode,
-
donnez-moi une minute pour
arranger ça et je vous montrerai.
-
Comme promis, voici ma méthode.
-
Cette méthode continue à
lire un nombre entier
-
jusqu'à ce qu'elle trouve celui qui est
dans la gamme désirée et elle le renvoie.
-
Le code exact n'importe
peu pour l'instant.
-
Vous pouvez y jeter un coup d’œil
dans la distribution du code
-
si vous le souhaitez.
-
Et, ici, je l'appelle.
-
Mais, il y a un problème.
-
Quand je compile, je reçois
un message d'erreur
-
et, ce message d'erreur, pour le moment,
-
doit vous paraître comme du charabia.
-
Il parle de méthodes
non statiques et statiques.
-
Je vais vous expliquer ce qui se passe
-
et pourquoi le compilateur est mécontent.
-
D'habitude, nous appelons
une méthode sur un objet
-
et je ne l'ai pas fait ici
car je me suis dit,
-
je suis en démonstration d'ascenseur
-
et devrais être capable d'appeler
-
une méthode de démonstration d'ascenseur.
-
Mais le problème est
que j'appelle depuis main.
-
Il n'y a donc pas d'objets
de démonstration d'ascenseur
-
et le compilateur s'en plaint.
-
Donc, en revenant ici,
-
c'est le nœud du problème.
-
ReadBetween n'est pas appelé sur un objet
-
et il n'y a pas de grand
objet pour l'appeler.
-
Ça aurait été bien de
l'appeler sur le scanner,
-
mais comme je l'ai déjà dit,
on ne peut pas faire ça.
-
Lorsque vous êtes
dans ce genre de situation
-
où vous avez une méthode qui ne peut
pas vraiment être appelée dans un objet,
-
alors vous faites une méthode statique.
-
La méthode statique est une méthode
qui n'est appelée dans aucun objet.
-
Une solution est, simplement, de revenir
dans la démonstration d'ascenseur
-
et de déclarer la méthode
auxiliaire statique,
-
comme ça.
-
Maintenant, tout ira bien
-
et l'erreur de syntaxe est partie.
-
Donc pour répondre à
notre question initiale,
-
il est parfaitement légitime de mettre
readBetween dans ElevatorDemo
-
comme une méthode statique mais
peut-être que ce n'est pas optimal.
-
Parce que si je veux utiliser
cette méthode
-
parfaitement astucieuse dans
une autre classe?
-
Donc, readBetween est
une méthode qui semble utile
-
dans toutes les situations où
vous voulez lire une valeur
-
à partir d'une certaine distance.
-
Alors nous, nous pourrions vraiment
vouloir mettre cela ailleurs,
-
et la classe sur laquelle je la mettrai,
-
j'appelerai IO Helper.
-
J'ai préparé ce cours pour vous,
je vais vous montrer.
-
Voici la classe IO Helper.
-
Voici la méthode readBetween.
-
Et de nouveau, c'est une méthode statique,
-
car je ne vais pas réellement faire
des objets de la classe IO Helper.
-
Je veux juste que ce soit
la foyer pour cette méthode.
-
Cela signifie que lorsque
j'appelle la méthode,
-
je dois spécifier le nom
de la classe comme ceci.
-
Ici vous voyez le nom de la classe,
IOHelper, le nom de la méthode.
-
Les méthodes statiques ne
sont pas vraiment courantes
-
parce que, comme je l'ai dit,
la plupart du temps,
-
un objet réel est responsable
de l'exécution d'une méthode,
-
mais cela arrive.
-
En fait, vous en avez
vu quelques-uns.
-
Dans la leçon 4, vous avez vu
un nombre de méthodes statiques
-
dans la classe maths.
-
Là encore, la syntaxe se compose
du nom de la classe,
-
un point, puis le nom de la méthode.
-
Et encore une fois il n'y a aucun
objet de la classe maths.
-
Nous appelons simplement la méthode
racine carrée directement sur la classe.
-
Vous cherchez sans doute la raison
de l'utilisation d'une méthode statique?
-
Pourquoi ne pas simplement appeler
la méthode sur le numéro 2?
-
C'est comme ça dans Java,
-
dans Java, les nombres
ne sont pas des objets,
-
donc vous ne pouvez jamais
appeler une méthode sur un objet.
-
Un appel tel que
-
2. la racine carrée peut être plus
logique, mais c'est une erreur.
-
Donc pour résumer, la méthode statique
appartient à une classe.
-
Elle n'est pas appelée sur un objet et
elles ne sont pas vraiment courantes.
-
Pourquoi les appelle-t-on
des méthodes statiques?
-
Il n'y a pas de raison
valide en fait.
-
C'est un vestige d'un autre langage
de programmation beaucoup plus ancien.
-
Il n'y a rien de particulièrement
statique à leur sujet.
-
En plus des méthodes statiques,
il existe des variables statiques.
-
Jetons un coup d’œil à eux.