Méthodes de classe en Java | Expliqué

Méthodes de classe en Java | Expliqué
En Java, une méthode n'est rien d'autre qu'un bloc de code / instruction qui est déclaré dans la classe et peut effectuer des actions différentes lorsque quelqu'un l'appelle. Certaines méthodes peuvent être appelées directement avec leur nom (je.e. sans créer l'objet de classe) tandis que certaines méthodes nécessitent l'instance / l'objet de la classe (i.e. doit être invoqué avec l'objet de la classe).

Les méthodes qui peuvent être appelées directement sont appelées Méthodes de classe ou statique, tandis que les méthodes qui ont besoin d'un objet de la classe à invoquer instance ou méthodes non statiques.

Cet article présentera un aperçu détaillé des méthodes de classe et à cet égard, il couvrira les aspects suivants des méthodes de classe Java:

  • Qu'est-ce qu'une méthode de classe
  • Comment accéder aux méthodes de classe
  • Comment accéder aux méthodes publiques
  • Comment accéder à une méthode à partir d'une classe différente

Commençons!

Méthode de classe en Java

Généralement, lorsque nous avons une classe, nous devons créer un objet de cette classe pour accéder à ses méthodes et à d'autres membres. Cependant, les méthodes de classe / statique sont accessibles à l'intérieur de la classe sans créer une instance de cette classe.

Comment accéder aux méthodes de classe

Voyons l'exemple donné ci-dessous pour comprendre comment créer et accéder à une méthode statique / classe en Java.

Exemple

L'extrait de code ci-dessous prend deux nombres de l'utilisateur et y effectuent l'ajout:

classe publique Addnumbers
Addition publique statique statique (int num1, int num2)
int add = num1 + num2;
return add;

public static void main (String [] args)
int numéro1, numéro2, sum;
Scanner = nouveau scanner (système.dans);
Système.dehors.print ("Entrez le 1er numéro:");
Number1 = scan.NextInt ();
Système.dehors.print ("Entrez le 2ème numéro:");
nombre2 = scan.NextInt ();
sum = ajout (number1, numéro2);
Système.dehors.println ("sum =" + sum);

Le code complet et sa sortie respective seront quelque chose comme ceci:

À partir de la sortie ci-dessus, il est clair qu'il n'est pas nécessaire de créer l'objet de la classe pour appeler une méthode statique à la place, il peut être accessible directement dans la classe.

Comment accéder aux méthodes publiques

Voyons maintenant l'exemple ci-dessous pour tester si une méthode publique est accessible directement ou non:

classe publique Addnumbers
public int ajout (int num1, int num2)
int add = num1 + num2;
return add;

public static void main (String [] args)
int numéro1, numéro2, sum;
Scanner = nouveau scanner (système.dans);
Système.dehors.print ("Entrez le 1er numéro:");
Number1 = scan.NextInt ();
Système.dehors.print ("Entrez le 2ème numéro:");
nombre2 = scan.NextInt ();
sum = ajout (number1, numéro2);
Système.dehors.println ("sum =" + sum);

Tout le code est le même que dans l'exemple précédent, sauf le modificateur d'accès, mais cette fois, nous obtenons une erreur comme indiqué dans l'extrait de code suivant:

Pour accéder à une fonction non statique, nous devons d'abord créer l'objet de la classe, nous pourrons accéder à la méthode de la classe:

L'en extrant ci-dessus vérifie que lorsque nous appelons la méthode non statique à l'aide d'un objet de classe, il fonctionne de manière appropriée et fournit la sortie sans erreur.

Comment accéder à une méthode à partir d'une classe différente

Nous avons vu qu'une méthode statique ne nécessite aucun objet pour être appelé dans la même classe, mais ce qui se passera lorsque nous aurons plusieurs classes? La méthode statique sera-t-elle invoquée directement dans un tel cas? Expérimentons avec!

Exemple

Voyons que nous avons deux cours: une classe nommée «Nombres«Qui tiendra la méthode principale et la seconde est«MyFunctions" classe:

MyFunctions.Java

package addnumbers;
classe publique MyFunctions
Addition publique statique statique (int num1, int num2)
int add = num1 + num2;
return add;

Nombres.Java

classe publique Addnumbers
public static void main (String [] args)
int numéro1, numéro2, sum;
Scanner = nouveau scanner (système.dans);
Système.dehors.print ("Entrez le 1er numéro:");
Number1 = scan.NextInt ();
Système.dehors.print ("Entrez le 2ème numéro:");
nombre2 = scan.NextInt ();
sum = ajout (number1, numéro2);
Système.dehors.println ("sum =" + sum);

Nous appelons le ajout fonction du MyFunctions classe de la méthode principale de Nombres classe:

Bien que la méthode d'addition soit statique, nous obtenons toujours une erreur lorsque nous essayons d'y accéder directement. En effet, la méthode d'addition n'est pas dans la même classe. Ainsi, pour accéder à la méthode d'une autre classe, nous devons créer l'objet de cette classe indépendamment de son modificateur d'accès I.e. statique ou public.

Nombres.Java

classe publique Addnumbers
public static void main (String [] args)
int numéro1, numéro2, sum;
Scanner = nouveau scanner (système.dans);
Système.dehors.print ("Entrez le 1er numéro:");
Number1 = scan.NextInt ();
Système.dehors.print ("Entrez le 2ème numéro:");
nombre2 = scan.NextInt ();
MyFonctions obj = new myFunctions ();
somme = obj.addition (numéro1, numéro2);
Système.dehors.println ("sum =" + sum);

Cette fois, nous créons l'objet de MyFunctions classe dans la fonction principale de Nombres classe et ensuite nous accédons au ajout Méthode à l'aide de cet objet:

Maintenant, l'extrait ci-dessus vérifie que l'erreur a disparu, et avec l'aide de l'objet de la classe MyFunctions, nous avons obtenu les résultats souhaités.

Conclusion

La méthode de classe / statique est accessible directement au sein de la classe tout en accédant aux méthodes publiques sans créer l'objet n'est pas possible. Alors que, dans le cas de plusieurs classes, les méthodes ne seront accessibles qu'à l'aide d'objets de classe, quel que soit leur modificateur d'accès. Cet article fournit un guide complet de quelles sont les méthodes de classe et comment y accéder à partir de la même classe et à partir d'une classe différente.