Articles

Functions (Français)

Posted by admin

En Java, toutes les définitions de fonctions doivent être à l’intérieur des classes. Nous appelons également les méthodes de fonctions. Regardons un exemple de la méthode

public class Main { public static void foo() { // Do something here }}

foo est une méthode que nous avons définie dans la classe Principale. Notez quelques choses sur foo.

  • static signifie que cette méthode appartient à la classe Principale, et non à une instance spécifique de la Main. Ce qui signifie que nous pouvons appeler la méthode à partir d’une classe différente comme celle-ci Main.foo().,
  • void signifie que cette méthode ne renvoie pas de valeur. Les méthodes peuvent renvoyer une seule valeur en Java et elle doit être définie dans la déclaration de méthode. Cependant, vous pouvez utiliserreturn par lui-même pour quitter la méthode.
  • cette méthode n’obtient aucun argument, mais bien sûr les méthodes Java peuvent obtenir des arguments comme nous le verrons plus loin.,

Arguments

j’aime toujours dire que les arguments des méthodes Java sont transmis par valeur, bien que certains puissent être en désaccord avec mon choix de mots, je trouve que c’est le meilleur moyen d’expliquer et de comprendre comment cela fonctionne exactement.

Par valeur signifie que les arguments sont copiés lorsque la méthode s’exécute. Regardons un exemple.,

public void bar(int num1, int num2) { ...}

Voici un autre endroit dans le code où la barre est appelé

int a = 3;int b = 5;bar(a, b);

vous pouvez Vous imaginer dans votre tête que lorsque bar(a, b) est exécuté, c’est comme au début de l’ bar les deux lignes suivantes sont écrites:

int num1 = a;int num2 = b;

Et alors seulement, le reste de la méthode est exécutée.

Cela signifie que a valeur copiée à l’ num1 et b valeur copiée à l’ num2., Changer les valeurs de num1 et num2 n’affectera pas a et b.

Si les arguments étaient des objets, les règles restent les mêmes, mais cela agit un peu différemment. Voici un exemple:

public void bar2(Student s1, Student s2) { ...}

Et voici comment l’utiliser

Student joe = new Student("joe");Student jack = new Student("jack");bar2(joe, jack);

Encore une fois, nous pouvons imaginer le même deux lignes au début de la balise bar2

Student s1 = joe;Student s2 = jack;

Mais lorsque nous assigner des objets, c’est un peu différent que d’attribuer des fonctions primitives., s1 et joe sont deux références différentes pour le même objet. s1 == joe est vraie. Cela signifie que l’exécution de méthodes sur le s1 va changer l’objet joe. Mais si nous allons modifier la valeur de s1 comme référence, cela n’affectera pas la référence joe.

méthodes non statiques

Les méthodes non statiques en Java sont utilisées plus que les méthodes statiques. Ces méthodes ne peuvent être exécutées que sur des objets et non sur toute la classe.,

Les méthodes non statiques peuvent accéder et modifier le champ de l’objet.

L’appel des méthodes nécessitera un objet de typeStudent.

Résumé

Leave A Comment