Une classe se compose essentiellement de champs et de méthodes. En Java, les propriétés sont appelées champs. Une méthode est un groupe de déclarations codées pour accomplir une tâche. Habituellement, pour utiliser une classe en Java, la classe doit être instanciée dans un objet. Une classe est une unité à usage général à partir de laquelle les objets peuvent être instanciés. Instanciation (création) Un objet n'est pas vraiment un gros problème. C'est un processus très court dans lequel les champs de la classe sont des valeurs données. Les objets d'une classe diffèrent les uns des autres car ils ont des valeurs différentes pour leurs mêmes noms de champ. Les méthodes de tous les objets et la classe sont les mêmes.
Une méthode statique est une méthode dont l'implémentation (définition) dans une implémentation de classe (définition) commence par le mot réservé, statique. Une méthode statique n'a pas besoin d'un objet dans un autre pour qu'il s'exécute. D'un autre côté, une méthode non statique a besoin d'un objet dans l'autre pour qu'il s'exécute - voir les détails ci-dessous. En Java, avoir une méthode non statique exécute invoque la méthode; Avoir une méthode statique exécutée appelle la méthode. Une méthode de constructeur (simplement appelé constructeur) est également appelée - voir ci-dessous.
Cet article illustre comment invoquer une méthode non statique et appeler une méthode statique.
Classe et ses objets
Considérez la mise en œuvre de la classe suivante:
classe ACLASSLe nom de la classe est un aclass. Il a un champ, Str, qui tient littéralement une chaîne. La classe a deux méthodes: la méthode du constructeur et une méthode qui retourne vide. La méthode du constructeur ne renvoie rien, et son nom est le même que celui de la classe. Le but de la méthode du constructeur est d'initialiser une partie ou la totalité des champs avec des valeurs non défaut. Ce constructeur initialise le champ, Str, avec la valeur de son paramètre (argument envoyé).
La méthode d'intérêt pour cette classe est appelée MTHD. Il revient vide. Son corps imprime la valeur du champ de la classe. Cependant, cette impression ne peut être effectuée dans ce cas que lorsqu'un objet a été instancié de la classe. Et donc, c'est l'objet qui ferait l'impression, dans ce cas, par la même méthode correspondante.
Une classe principale appropriée pour la classe ci-dessus est la suivante:
classe publique TheClassLa classe principale a la méthode principale (), qui devrait toujours être là. Dans cette méthode Main (), la première instruction instancie un objet, appelé obj, à partir de la classe aclass. Il utilise l'opérateur, nouveau et le nom du constructeur, avec un argument donné, «vu». «Aclass (« voir »)» signifie appeler le constructeur. Avec lui, la méthode du constructeur est exécutée pour initialiser le champ, Str avec «vu». D'autres objets instanciés de cette même classe, ACLASS, initialiseront leurs propres champs STR avec différentes valeurs de chaîne. La deuxième instruction, dans la méthode Main (), invoque la méthode, MTHD (), qui imprime maintenant à la sortie,
vuméthode statique
L'implémentation de classe suivante est similaire à la classe ci-dessus, mais la même méthode d'intérêt a été rendue statique:
classe ACLASSCette fois, il n'y a pas de méthode de constructeur; Il n'y a pas besoin de ça. Le paramètre de la méthode du constructeur est désormais le paramètre de la méthode d'intérêt. La méthode d'intérêt a été rendue statique en la précédant avec le mot réservé, statique, dans l'implémentation de la méthode (définition).
Une classe principale appropriée pour la classe ci-dessus est:
classe publique TheClassLa méthode principale ici n'a qu'une seule déclaration. Cette expression (instruction) n'instançait pas un objet de la classe. Il utilise simplement le nom de classe, suivi d'un point, puis du nom de la méthode statique, avec son argument, «vu». La sortie de la méthode statique est,
vuL'expression, «Aclass.MTHD («vu») », appelle la méthode statique, MTHD (), et ne l'invoque pas. Une méthode non statique est invoquée, tandis qu'une méthode statique est appelée. Une méthode statique ne fonctionne pas avec l'objet instancié. Il fonctionne normalement avec la classe (nom).
Méthode statique dans la classe principale
La classe principale n'est pas instanciée. Une méthode dans la classe principale doit être rendue statique. Le programme suivant illustre ceci:
classe publique TheClassLa méthode d'intérêt est distincte de la méthode principale (). Sa mise en œuvre doit être précédée du mot réservé, statique. La méthode principale () est également statique. Ces deux méthodes statiques sont appelées mais pas invoquées. La méthode d'intérêt est appelée avec l'expression,
MTHD ("vu");Il n'y a pas de point et d'objet ou de classe précédents; Parce que mthd () et main () sont dans la même implémentation de classe. La sortie est:
vuConclusion
Dans C ++, une méthode (fonction membre) est appelée et une fonction de membre statique est également appelée. En Java, une méthode non statique est invoquée, tandis qu'une méthode statique est appelée. De nombreux programmeurs Java ne se soucient pas de la différence entre invoquer et appeler. Cependant, ce lecteur devrait être un programmeur Java avec une meilleure image en utilisant le vocabulaire Java de manière appropriée: une méthode non statique est invoquée, tandis qu'une méthode statique est appelée. Les illustrations ont été faites ci-dessus. Toute méthode dans la classe principale doit être statique. Cette méthode est appelée dans la classe principale sans la précéder, avec un point et un objet ou une classe.