Référence de méthode en Java 8

Les références de méthode sont un type spécial des expressions lambda. Ils sont souvent utilisés pour créer des expressions lambda simples en référençant des méthodes existantes.

Il existe trois types de références de méthode:

  • Référence à une méthode statique.
  • Référence à une méthode d’instance.
  • Référence à un constructeur.

 
 

Référence à une méthode statique:

Vous pouvez référer à une méthode statique définie dans une classe. Voici la syntaxe et l’exemple qui décrivent le processus de référence à une méthode statique en Java.
 
Syntaxe :

ClassName::staticMethodName

 
Exemple :
Dans l’exemple suivant, nous avons défini une interface fonctionnelle et référant une méthode statique à sa méthode fonctionnelle show().

// Interface fonctionnelle
interface Msg{
	void show();
}

public class MyClass {
	
	//Méthode static
	public static void showMsg(){
		System.out.println("Welcome to WayToLearnX.");
	}
	public static void main(String[] args) {
	    // Référence à une méthode statique
	    Msg msg = MyClass::showMsg;
	    // Appeler méthode de l'interface
	    msg.show();
	}
}

 
Sortie:

Welcome to WayToLearnX.

 
 

Référence à une méthode d’instance:

Comme les méthodes statiques, vous pouvez également référencer des méthodes d’instance. Dans l’exemple suivant, nous décrivons le processus de référencement d’une méthode d’instance.
 
Syntaxe :

ObjectName::instanceMethodName

 
Exemple :
Dans l’exemple suivant, nous faisons référence à des méthodes non statiques. Vous pouvez référencer des méthodes par objet de classe et objet anonyme.

// Interface fonctionnelle
interface Msg{
	void show();
}

public class MyClass {
	
	//Méthode non-static
	public void showMsg(){
		System.out.println("Welcome to WayToLearnX.");
	}
	
	public static void main(String[] args) {
		// Création d'objet
		MyClass obj = new MyClass(); 
		//Référence à une méthode non statique à l'aide d'une référence
		Msg msg1 = obj::showMsg;
		// Appeler méthode de l'interface
		msg1.show();

		//Référence à une méthode non statique à l'aide d'un objet anonyme
		Msg msg2 = new MyClass()::showMsg;
		// Appeler méthode de l'interface
		msg2.show();
	}
}

 
Sortie:

Welcome to WayToLearnX.
Welcome to WayToLearnX.

 
 

Référence à un constructeur:

Vous pouvez référencer un constructeur en utilisant le mot-clé « new ». Ici, nous faisons référence au constructeur à l’aide de l’interface fonctionnelle.
 
Syntaxe :

ClassName::new

 
Exemple :

interface Operation{
	Msg getMsg(String msg);
}
class Msg{
	Msg(String msg){
		System.out.print(msg);
	}
}
public class Main {
	public static void main(String[] args) {
		Operation op = Msg::new;
		op.getMsg("Welcome to WayToLearnX.");
	}
}

 
Sortie:

Welcome to WayToLearnX.
QCM-Java

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *