[JAVA] Exemple d'utilisation de classe interne

Quand utilisez-vous la classe interne?

Il est utilisé lorsque vous souhaitez préciser qu'il est lié à une instance ou une méthode d'une certaine classe. S'il y a un cas où ce qui est défini dans la classe interne est requis par lui-même, il est préférable de le définir au niveau supérieur au lieu de la classe interne.

Exemple d'utilisation ①

** À utiliser comme classe d'assistance utile lorsqu'elle est utilisée avec une classe externe. ** **

Par exemple, définissons une classe de calculatrice qui peut exécuter quatre règles. Voici un exemple dans lequel la classe calculator définit les opérations de calcul prises en charge avec l'énumération de classe interne.

Exemple de classe intérieure


public class Calculator {
  public enum Operation {
    PLUS      { public int apply(int x, int y) { return x + y; } },
    MINUS     { public int apply(int x, int y) { return x - y; } },
    MULTIPLY  { public int apply(int x, int y) { return x * y; } },
    DIVIDE    { public int apply(int x, int y) { return x / y; } };
    public abstract int apply(int x, int y);
  }
  public int calc(Operation operation, int x, int y) {
    return operation.apply(x, y);
  }
}

Exemple de classe intérieure_Exemple d'utilisation


public class Main {
  public static void main(String[] args) {
    Calculator calculator = new Calculator();
    int result = calculator.calc(Calculator.Operation.PLUS, 2, 3);
    System.out.println(result);
    //=> 5
  }
}

Exemple d'utilisation ②

** Si vous souhaitez définir une classe liée à une classe externe **

Où utiliser les classes internes dans les bibliothèques standard Java

■ Définir Iterator lié à java.util.ArrayList  2019-08-03 11.11.23.png ■ Définir Iterator lié à java.util.LinkedList  2019-08-03 11.12.11.png ■ HashIterator lié à java.util.HashMap  2019-08-03 11.13.29.png

Il semble que la classe interne soit utilisée lorsque vous souhaitez définir des éléments liés à cette classe, tels que Iterator of ArrayList et Iterator of HashMap.

Recommended Posts

Exemple d'utilisation de classe interne
Exemple d'utilisation de l'interface
Examen de la classe interne Java
Exemple d'utilisation d'une classe abstraite
Comment définir un bean de classe interne