[Java] Überladung

Überlast

In Java haben sogar Methoden, die gleich funktionieren, eine unterschiedliche Anzahl von Argumenten, und Sie müssen Methoden erstellen, die der Anzahl von Argumenten entsprechen. Wie sollte zu diesem Zeitpunkt der Methodenname angegeben werden? Natürlich ist es möglich, sie so zu benennen, dass es keine Duplikate gibt, aber wenn es nur so viele Aussagen wie Argumente gibt, wird es schwierig sein, sich daran zu erinnern. ** Überlastung ** kann in diesem Fall helfen.

Methoden mit dem gleichen Namen

Siehe das Programm unten. Die Methode max () gibt die größere der beiden Variablen vom Typ int zurück.

class Max{
  static int max(int x, int y){
    if(x>y)
      return x;
    return y;
  }
}

Erwägen Sie, dies zu erweitern, um eine größere Variable für eine Variable vom Typ Double zurückzugeben. Sie erstellen eine neue Methode, die dem Argument double type entspricht. Der Schlüssel ist jedoch, was zu diesem Zeitpunkt mit dem Methodennamen zu tun ist. In Java können Methodennamen vom Programmierer nach denselben Regeln wie Variablennamen frei zugewiesen werden. Da die Verarbeitung von Int-Typ-Werten und die Verarbeitung von Double-Typ-Werten unterschiedliche Argumenttypen und Rückgabetypen haben, ist es nicht ungewöhnlich, den Methodennamen von doubleMax () usw. zu unterscheiden. Unter dem Gesichtspunkt der Verwendung der Methode ändert sich der Prozess der "Rückgabe des größten Werts unter den Argumenten, auch wenn die Anzahl unterschiedlich ist" jedoch nicht. Geben Sie daher je nach Anzahl der Argumente und Typ des Typs verschiedene Namen an. Es sollte einfacher sein, sie zu verwenden, wenn sie denselben Namen haben, auch wenn sie eine unterschiedliche Anzahl von Argumenten haben, als sie zu erstellen und entsprechend auszuwählen. Das Definieren einer Methode mit demselben Namen und einer anderen Anzahl von Argumenten wird als ** Überladung ** bezeichnet. Durch das Überladen muss der Programmierer die dem Argument entsprechende Methode nicht mehr finden und das Programm kann geschrieben werden, indem er sich auf die "Funktion" selbst der Methode konzentriert.

class Max{
  static int max(int a, int b){
    if(a>b)
      return a;
    return b;
  }
  static double max(double a, double b){
    if(a>b)
      return a;
    return b;
  }
}

Recommended Posts

[Java] Überladung
[Java] Überladen / Überschreiben / Vererbung
Überlast
Java
Java
[Java] Überladen und überschreiben
Java lernen (0)
Java studieren ―― 3
Java geschützt
[Java] Anmerkung
[Java] Modul
Java-Array
Java studieren ―― 9
Java Scratch Scratch
Java-Tipps, Tipps
Java-Methoden
Java-Methode
Java (Konstruktor)
Java-Array
[Java] ArrayDeque
Java (überschreiben)
Java Day 2018
Java-Zeichenfolge
Java (Array)
Java statisch
Java-Serialisierung
Java Anfänger 4
JAVA hat bezahlt
Glossar: Überlastung
Java studieren ―― 4
Java (gesetzt)
Java-Shell-Sortierung
[Java] compareTo
Java studieren -5
Java (Schnittstelle)
Java-Memorandum
Java-Array
Java studieren ―― 1
[Java] Array
[Java] Polymorphismus
Java # 0 studieren
Java-Framework
Java-Funktionen
[Java] Vererbung
FastScanner Java
Java-Funktionen
Java Anfänger 3
Java-Memo
Java (Kapselung)
Java-Vererbung
Java-Grundlagen
Java dekompilieren
[Java] Anmerkung
Java Note
Java Anfänger
Java (add2)
JAVA (Karte)
[Java] -Schnittstelle
Java9-Sammlung
Java-Grundlagen