Maison  >  Article  >  Java  >  Quelles sont les règles pour les méthodes privées dans les interfaces en Java 9 ?

Quelles sont les règles pour les méthodes privées dans les interfaces en Java 9 ?

WBOY
WBOYavant
2023-08-31 12:57:111269parcourir

在Java 9中,接口中的私有方法有哪些规则?

Java 9 ajoute de nouvelles fonctionnalités privéesméthodesdans les interfaces. Les méthodes privées peuvent être définies à l'aide du modificateur private. Nous pouvons ajouter des méthodes private et privatestatic dans les interfaces dans Java 9 Règles pour les méthodes privées dans

interfaces :

Le corps d'une méthode privée est dans l'interface, ce qui signifie que nous ne peut pas faire l'habituel. Elle est déclarée comme une méthode abstraite ordinaire dans l'interface. Si nous essayons de déclarer une méthode privée sans corps, cela peut générer une erreur disant "
    Cette méthode nécessite un corps et non un point-virgule
  • ". Nous ne pouvons pas utiliser à la fois les modificateurs
  • private
  • et abstract dans une interface. Si nous voulons accéder à une méthode privée à partir d'une méthode statique dans une interface, alors la méthode peut être déclarée comme
  • méthode statique privée
  • car nous ne pouvons pas faire de référence statique à une méthode non statique. Une
  • méthode statique privée
  • utilisée dans un contexte non statique signifie qu'elle peut être appelée depuis la méthode par défaut dans l'interface.
  • Syntaxe
<strong>interface <interface-name> {
   private methodName(parameters) {
      // some statements
   }
}</strong>

Exemple

interface TestInterface {
   <strong>default </strong>void methodOne() {
      System.out.println("This is a Default method One...");
      printValues(); // calling a private method
   }
   <strong>default </strong>void methodTwo() {
      System.out.println("This is a Default method Two...");
      printValues(); // calling private method...
   }
   <strong>private </strong>void <strong>printValues</strong><strong>()</strong> { <strong>// private method in an interface
</strong>      System.out.println("methodOne() called");
      System.out.println("methodTwo() called");
   }
}
public class PrivateMethodInterfaceTest implements TestInterface {
   public static void main(String[] args) {
      TestInterface instance = new PrivateMethodInterfaceTest();
      instance.methodOne();
      instance.methodTwo();
   }
}

Sortie

<strong>This is a Default method One...
methodOne() called
methodTwo() called
This is a Default method Two...
methodOne() called
methodTwo() called</strong>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer