[JAVA] Anwendungsbeispiel für die innere Klasse

Wann benutzt du die innere Klasse?

Es wird verwendet, wenn Sie klarstellen möchten, dass es sich um eine Instanz oder Methode einer bestimmten Klasse handelt. Wenn es einen Fall gibt, in dem das, was in der inneren Klasse definiert ist, für sich selbst erforderlich ist, ist es besser, es auf der obersten Ebene anstelle der inneren Klasse zu definieren.

Anwendungsbeispiel ①

** Verwendung als nützliche Hilfsklasse bei Verwendung mit einer externen Klasse. ** ** **

Definieren wir beispielsweise eine Taschenrechnerklasse, die vier Regeln ausführen kann. Das folgende Beispiel zeigt, wie die Rechnerklasse die unterstützten Berechnungsoperationen mit der Aufzählung der inneren Klasse definiert.

Beispiel der inneren Klasse


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);
  }
}

Beispiel der inneren Klasse_Anwendungsbeispiel


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
  }
}

Anwendungsbeispiel ②

** Wenn Sie eine Klasse definieren möchten, die sich auf eine äußere Klasse bezieht **

Verwendung innerer Klassen in Java-Standardbibliotheken

■ Definieren Sie den Iterator für java.util.ArrayList  2019-08-03 11.11.23.png ■ Definieren Sie den Iterator für java.util.LinkedList  2019-08-03 11.12.11.png ■ HashIterator für java.util.HashMap  2019-08-03 11.13.29.png

Es scheint, dass die innere Klasse verwendet wird, wenn Sie eine Beziehung zu dieser Klasse definieren möchten, z. B. Iterator von ArrayList und Iterator von HashMap.

Recommended Posts

Anwendungsbeispiel für die innere Klasse
Beispiel für die Verwendung der Schnittstelle
Überprüfung der Java-Innenklasse
Beispiel für die Verwendung einer abstrakten Klasse
So definieren Sie eine Bean der inneren Klasse