Méthode en Java


En général, une méthode est un moyen d’effectuer une certaine tâche. De même, la méthode en Java est une collection d’instructions qui réalise une tâche spécifique. Elle permet la réutilisation du code. Nous pouvons également modifier facilement le code en utilisant des méthodes. Dans cette section, nous allons apprendre ce qu’est une méthode en Java, les types de méthodes, la déclaration des méthodes et comment appeler une méthode en Java.

Qu’est-ce qu’une méthode en Java ?

Une méthode est un bloc de code ou une collection d’instructions ou un ensemble de codes regroupés pour effectuer une certaine tâche ou opération. Elle est utilisée pour permettre la réutilisation du code. Nous écrivons une méthode une fois et l’utilisons plusieurs fois. Nous n’avons pas besoin d’écrire du code encore et encore. Elle permet également de modifier facilement le code et de le rendre plus lisible, simplement en ajoutant ou en supprimant un morceau de code. La méthode est exécutée uniquement lorsque nous l’appelons ou l’invoquons.

La méthode la plus importante en Java est la méthode main(). Si vous souhaitez en savoir plus sur la méthode main(), consultez le lien https://www.javatpoint.com/java-main-method.
.

Déclaration de méthode

La déclaration de méthode fournit des informations sur les attributs de la méthode, tels que la visibilité, le type de retour, le nom et les arguments. Elle comporte six composants, connus sous le nom d’en-tête de méthode, comme le montre la figure suivante.

Méthode en Java

Signature de la méthode : Chaque méthode possède une signature de méthode. Elle fait partie de la déclaration de la méthode. Elle comprend le nom de la méthode et la liste des paramètres.

Spécificateur d’accès : Le spécificateur d’accès ou modificateur est le type d’accès de la méthode. Il spécifie la visibilité de la méthode. Java propose quatre types de spécificateurs d’accès :

Public : La méthode est accessible par toutes les classes lorsque nous utilisons le spécificateur public dans notre application.
Private : Lorsque nous utilisons un spécificateur d’accès private, la méthode n’est accessible que dans les classes dans lesquelles elle est définie.
Protégé : Lorsque nous utilisons le spécificateur d’accès protected, la méthode est accessible dans le même paquet ou dans les sous-classes d’un paquet différent.
Défaut : Lorsque nous n’utilisons pas de spécificateur d’accès dans la déclaration de la méthode, Java utilise par défaut le spécificateur d’accès default. Elle n’est visible que depuis le même paquetage uniquement.
Type de retour : Le type de retour est un type de données que la méthode renvoie. Il peut s’agir d’un type de données primitif, objet, collection, void, etc. Si la méthode ne renvoie rien, nous utilisons le mot clé void.

Nom de la méthode : C’est un nom unique qui est utilisé pour définir le nom d’une méthode. Il doit correspondre à la fonctionnalité de la méthode. Par exemple, si nous créons une méthode pour la soustraction de deux nombres, le nom de la méthode doit être subtraction(). Une méthode est invoquée par son nom.

Liste de paramètres : C’est la liste des paramètres séparés par une virgule et enfermés dans la paire de parenthèses. Elle contient le type de données et le nom de la variable. Si la méthode n’a pas de paramètre, laissez les parenthèses vides.

Corps de la méthode : C’est une partie de la déclaration de la méthode. Il contient toutes les actions à effectuer. Il est entouré d’une paire d’accolades.

Nommer une méthode

Lorsque vous définissez une méthode, n’oubliez pas que le nom de la méthode doit être un verbe et commencer par une lettre minuscule. Si le nom de la méthode comporte plus de deux mots, le premier doit être un verbe suivi d’un adjectif ou d’un nom. Dans le nom de méthode à plusieurs mots, la première lettre de chaque mot doit être en majuscule, sauf le premier mot. Par exemple :

Nom de méthode à un mot : sum(), area()

Nom de méthode à plusieurs mots : areaOfCircle(), stringComparision()

Il est également possible qu’une méthode porte le même nom qu’une autre méthode de la même classe, c’est ce qu’on appelle la surcharge de méthodes.

Types de méthodes

Il existe deux types de méthodes en Java :

Méthode prédéfinie
Méthode définie par l’utilisateur
Méthode prédéfinie
En Java, les méthodes prédéfinies sont les méthodes qui sont déjà définies dans les bibliothèques de classes Java. Elle est également connue sous le nom de méthode de la bibliothèque standard ou méthode intégrée. Nous pouvons utiliser directement ces méthodes en les appelant dans le programme à n’importe quel moment. Certaines méthodes prédéfinies sont length(), equals(), compareTo(), sqrt(), etc. Lorsque nous appelons l’une des méthodes prédéfinies dans notre programme, une série de codes liés à la méthode correspondante s’exécute en arrière-plan et est déjà stockée dans la bibliothèque.

Chaque méthode prédéfinie est définie à l’intérieur d’une classe. Par exemple, la méthode print() est définie dans la classe java.io.PrintStream. Elle imprime la déclaration que nous écrivons dans la méthode. Par exemple, print(« Java »), imprime Java sur la console.

Voyons un exemple de la méthode prédéfinie.

Demo.java

public class Demo
{
public static void main(String[] args)
{
// utilisation de la méthode max() de la classe Math
System.out.print(« Le nombre maximum est :  » + Math.max(9,7)) ;
}
}

Sortie :

Le nombre maximum est : 9
Dans l’exemple ci-dessus, nous avons utilisé trois méthodes prédéfinies : main(), print() et max(). Nous avons utilisé ces méthodes directement sans déclaration car elles sont prédéfinies. La méthode print() est une méthode de la classe PrintStream qui imprime le résultat sur la console. La méthode max() est une méthode de la classe Math qui renvoie le plus grand de deux nombres.

Nous pouvons également voir la signature de toute méthode prédéfinie en utilisant le lien https://docs.oracle.com/.
. Lorsque nous parcourons le lien et voyons la signature de la méthode max(), nous trouvons ce qui suit :

Méthode en Java

Dans la signature de la méthode ci-dessus, nous voyons que la signature de la méthode comporte le spécificateur d’accès public, le modificateur de non-accès static, le type de retour int, le nom de la méthode max(), la liste des paramètres (int a, int b). Dans l’exemple ci-dessus, au lieu de définir la méthode, nous avons simplement invoqué la méthode. C’est l’avantage d’une méthode prédéfinie. Elle rend la programmation moins compliquée.

De la même manière, nous pouvons également voir la signature de la méthode print().

Méthode définie par l’utilisateur

La méthode écrite par l’utilisateur ou le programmeur est connue sous le nom de méthode définie par l’utilisateur. Ces méthodes sont modifiées en fonction des besoins.

Comment créer une méthode définie par l’utilisateur
Créons une méthode définie par l’utilisateur qui vérifie si le nombre est pair ou impair. Tout d’abord, nous allons définir la méthode.

//Méthode définie par l’utilisateur
public static void findEvenOdd(int num)
{
//corps de la méthode
if(num%2==0)
System.out.println(num+ » est pair ») ;
sinon
System.out.println(num+ » est impair ») ;
}
Nous avons défini la méthode ci-dessus appelée findevenodd(). Elle possède un paramètre num de type int. La méthode ne renvoie aucune valeur, c’est pourquoi nous avons utilisé void. Le corps de la méthode contient les étapes permettant de vérifier si le nombre est pair ou impair. Si le nombre est pair, il imprime le nombre pair, sinon il imprime le nombre impair.

Icon for javascript ,programming

Comment appeler ou invoquer une méthode définie par l’utilisateur ?

Une fois que nous avons défini une méthode, il faut l’appeler. L’appel d’une méthode dans un programme est simple. Lorsque nous appelons ou invoquons une méthode définie par l’utilisateur, le contrôle du programme est transféré à la méthode appelée.

import java.util.Scanner ;
public class EvenOdd
{
public static void main (String args[])
{
//création d’un objet de classe Scanner
Scanner scan=new Scanner(System.in) ;
System.out.print(« Entrez le numéro : « ) ;
//lecture de la valeur de l’utilisateur
int num=scan.nextInt() ;
//appel de la méthode
findEvenOdd(num) ;
}
Dans l’extrait de code ci-dessus, dès que le compilateur atteint la ligne findEvenOdd(num), le contrôle est transféré à la méthode et donne la sortie correspondante.

Combinons les deux extraits de code en un seul programme et exécutons-le.

EvenOdd.java

import java.util.Scanner ;
public class EvenOdd
{
public static void main (String args[])
{
//création d’un objet de classe Scanner
Scanner scan=new Scanner(System.in) ;
System.out.print(« Entrez le numéro : « ) ;
//lecture de la valeur de l’utilisateur
int num=scan.nextInt() ;
//appel de la méthode
findEvenOdd(num) ;
}
//méthode définie par l’utilisateur
public static void findEvenOdd(int num)
{
//corps de la méthode
if(num%2==0)
System.out.println(num+ » est pair ») ;
sinon
System.out.println(num+ » est impair ») ;
}
}
Sortie 1 :

Entrez le nombre : 12
12 est pair
Sortie 2 :

Entrez le nombre : 99
99 est impair
Voyons un autre programme qui renvoie une valeur à la méthode appelante.

Dans le programme suivant, nous avons défini une méthode nommée add() qui additionne les deux nombres. Elle a deux paramètres n1 et n2 de type entier. Les valeurs de n1 et n2 correspondent à la valeur de a et b, respectivement. Par conséquent, la méthode additionne la valeur de a et b et la stocke dans la variable s et renvoie la somme.

Addition.java

public class Addition
{
public static void main(String[] args)
{
int a = 19 ;
int b = 5 ;
//appel de la méthode
int c = add(a, b) ; //a et b sont les paramètres réels
System.out.println(« La somme de a et b est=  » + c) ;
}
//méthode définie par l’utilisateur
public static int add(int n1, int n2) //n1 et n2 sont des paramètres formels
{
int s ;
s=n1+n2 ;
return s ; //renvoi de la somme
}
}
Résultat :

La somme de a et b est= 24

Méthode statique

Une méthode qui possède le mot-clé static est connue sous le nom de méthode static. En d’autres termes, une méthode qui appartient à une classe plutôt qu’à une instance d’une classe est connue comme une méthode statique. On peut également créer une méthode statique en utilisant le mot clé static devant le nom de la méthode.

Le principal avantage d’une méthode statique est que nous pouvons l’appeler sans créer d’objet. Elle peut accéder à des membres de données statiques et en modifier la valeur. Elle est utilisée pour créer une méthode d’instance. Elle est invoquée en utilisant le nom de la classe. Le meilleur exemple de méthode statique est la méthode main().

Exemple de méthode statique
Display.java

classe publique Display
{
public static void main(String[] args)
{
show() ;
}
static void show()
{
System.out.println(« C’est un exemple de méthode statique. ») ;
}
}
Sortie :

C’est un exemple de méthode statique.

Méthode d’instance
La méthode de la classe est connue sous le nom de méthode d’instance. Il s’agit d’une méthode non statique définie dans la classe. Avant d’appeler ou d’invoquer la méthode d’instance, il est nécessaire de créer un objet de sa classe. Voyons un exemple de méthode d’instance.

InstanceMethodExample.java

public class InstanceMethodExample
{
public static void main(String [] args)
{
//Création d’un objet de la classe
InstanceMethodExample obj = new InstanceMethodExample() ;
//Invocation de la méthode d’instance
System.out.println(« La somme est : « +obj.add(12, 13)) ;
}
int s ;
//méthode définie par l’utilisateur car nous n’avons pas utilisé le mot-clé static
public int add(int a, int b)
{
s = a+b ;
//renvoi de la somme
retourne s ;
}
}
Sortie :

La somme est : 25
Il existe deux types de méthodes d’instance :

Méthode accesseur
Méthode du mutateur
Méthode accesseur : La ou les méthodes qui lisent la ou les variables d’instance sont appelées méthodes accesseurs. On peut facilement l’identifier car la méthode est préfixée par le mot get. Elle est également connue sous le nom de getters. Elle renvoie la valeur du champ privé. Elle est utilisée pour obtenir la valeur du champ privé.

Exemple

public int getId()
{
retourne Id ;
}
Méthode du mutateur : La ou les méthodes lisent la ou les variables d’instance et en modifient également les valeurs. Nous pouvons facilement l’identifier car la méthode est préfixée par le mot set. Elles sont également connues sous le nom de setters ou modificateurs. Elle ne renvoie rien. Elle accepte un paramètre du même type de données qui dépend du champ. Elle est utilisée pour définir la valeur du champ privé.

Exemple

public void setRoll(int roll)
{
this.roll = roll ;
}
Exemple de méthode accesseur et mutateur
Étudiant.java

public class Student
{
private int roll ;
private String name ;
public int getRoll() //méthode accesseur
{
retourne le rouleau ;
}
public void setRoll(int roll) //méthode du mutateur
{
this.roll = roll ;
}
public String getName()
{
retourne le nom ;
}
public void setName(String name)
{
this.name = name ;
}
public void display()
{
System.out.println(« Numéro de rouleau : « +roll) ;
System.out.println(« Nom de l’étudiant : « +nom) ;
}
}

Méthode abstraite

La méthode qui n’a pas de corps de méthode est connue sous le nom de méthode abstraite. En d’autres termes, une méthode sans implémentation est connue comme méthode abstraite. Elle est toujours déclarée dans la classe abstraite. Cela signifie que la classe elle-même doit être abstraite si elle possède une méthode abstraite. Pour créer une méthode abstraite, on utilise le mot clé abstract.

Syntaxe

abstract void nom_méthode() ;
Exemple de méthode abstraite
Demo.java

classe abstraite Demo //classe abstraite
{
//déclaration de méthode abstraite
abstract void display() ;
}
public class MyClass extends Demo
{
//déclaration de la méthode
void display()
{
System.out.println(« Méthode abstraite ? ») ;
}
public static void main(String args[])
{
//création d’un objet de la classe abstraite
Demo obj = new MyClass() ;
//invocation d’une méthode abstraite
obj.display() ;
}
}
Sortie :

Méthode abstraite…

Méthode Factory

C’est une méthode qui renvoie un objet à la classe à laquelle il appartient. Toutes les méthodes statiques sont des méthodes d’usine. Par exemple, NumberFormat obj = NumberFormat.getNumberInstance() ;

%d blogueurs aiment cette page :