[Java] Überladen und überschreiben

Fassen Sie Überladungen und Überschreibungen zusammen

Überlast

Definieren Sie mehrere ** verschiedene ** Methoden mit demselben Namen, aber ** Signatur **. → Auch wenn der Name derselbe ist ** Anders als eine Methode **

** * Was ist Unterschrift ** -Methodenname -Argumentlistentyp -Anzahl der Argumente ・ Reihenfolge der Argumente

** [Dinge, die beim Überladen nicht zu beachten sind] ** ・ Differenz im Rückgabewert -Argumentvariablenname ・ Unterschied im Zugriffsmodifikator

Beispiel)

int price(int a, double b){
   return a * b;
}

[Überlastungsmuster]

double price(int a){   //Da es als separate Methode behandelt wird, gibt es kein Problem, selbst wenn der Rückgabewert geändert wird. Überladen, weil die Signaturen unterschiedlich sind
  //wird bearbeitet
}

int price(double a, int b){  //Argumentreihenfolge umgekehrt → Überladung
  //wird bearbeitet
}

[** Es ist auch möglich, eine Methode ** mit final ** zu überladen]

final void price(){
   //wird bearbeitet
}

void prince(int a){  //Die endgültige Methode kann auch überladen werden! Weil es als eine andere Methode behandelt wird.
  //wird bearbeitet
}

[Muster, das keine Überlastung verursacht]

int price(int product, double tax){  //Der Argumentname ist keine Signatur. Überlastet nicht
   //wird bearbeitet
}

überschreiben

Wenn Sie eine übergeordnete Klasse erben und eine untergeordnete Klasse deklarieren, müssen Sie die Mitglieder der übergeordneten Klasse mit der untergeordneten Klasse überschreiben.

** [Bedingungen überschreiben] ** ・ Die Signatur ist dieselbe

Beispiel)

class Infant{
  protected void talk(){
     System.out.println("Ogyaa");
  }
} 

[Muster, die überschrieben werden können]

class Adult extends Infant {
  public void talk(){   //Lose Zugriffsmodifikatoren als die Talk-Methode der übergeordneten Klasse
    System.out.println("Hallo");
 }
}

[Muster, die nicht überschrieben werden können]

class Adult extends Infant {
  void talk(){   //Strengere Zugriffsmodifikatoren als die übergeordnete Klassengesprächsmethode
    System.out.println("Hallo");
 }
}

class Adult extends Infant {
  void talk(String a){   //Signatur unterscheidet sich von der Sprechmethode der übergeordneten Klasse (wird überladen)
    System.out.println("Hallo" + a);
 }
}

Recommended Posts

[Java] Überladen und überschreiben
[Java] Überladen / Überschreiben / Vererbung
Java (überschreiben)
[Java] Überladung
XXE und Java
Getter und Setter (Java)
[Java] Thread und ausführbar
Java wahr und falsch
[Java] Vergleich von Zeichenketten und && und ||
Java - Serialisierung und Deserialisierung
[Java] Argumente und Parameter
timedatectl und Java TimeZone
[Java] Verzweigen und Wiederholen
[Java] Variablen- und Typtypen
Java (Klasse und Instanz)
Studiere Java # 2 (\ mark and operator)
[Java] Unterschied zwischen == und gleich
[Java] Stapelbereich und statischer Bereich
Java ab Anfänger überschreiben
[Java] Generics-Klasse und Generics-Methode
Java-Ver- und Entschlüsselung PDF
Java und Iterator Teil 1 Externe Iterator Edition
Java if- und switch-Anweisungen
Apache Hadoop und Java 9 (Teil 1)
[Java] Über String und StringBuilder
[Java] HashCode und gleich Überschreibung
☾ Java / Repeat-Anweisung und Repeat-Steueranweisung
Java-Methoden und Methodenüberladungen
Java Generics T und? Unterschied
Vor- und Nachteile von Java
Java (bedingte Verzweigung und Wiederholung)
Über Java-Paket und Import
[Java] Laden Sie ein Bild hoch und konvertieren Sie es in Base64
C # und Java überschreiben Story
Java abstrakte Methoden und Klassen
Java-Kapselung und Getter und Setter
Kotlin Post- und Pre-Inkrement und Operatorüberladung (Vergleich mit C, Java, C ++)
ClassCastException tritt bei der Migration von Java7 auf Java8 auf. ~ Generics and overload ~
Informationen zu statischen und nicht statischen Java-Methoden
Ich habe PHP- und Java-Konstruktoren verglichen
Unterschiede zwischen "Anfänger" Java und Kotlin
Verteilte Ablaufverfolgung mit OpenCensus und Java
[Java] Unterschied zwischen Hashmap und HashTable
Deklaration, Initialisierung und Typen von Java-Variablen
Java Excel Insertion und Bildextraktion
Installieren Sie Java und Tomcat mit Ansible
AWS SDK für Java 1.11.x und 2.x.
[Java] Grundtypen und Anweisungshinweise
Java-Veröffentlichungsdatum und EOL-Zusammenfassung
Java und primäre Funktionen - jenseits funktionaler Schnittstellen -
Über Biocontainer fastqc und Java
Java für Anfänger, Ausdrücke und Operatoren 1
Java Primer Series (Variationen und Typen)
Beispiel für Codierung und Decodierung in Java
[Java-Anfänger] Über Abstraktion und Schnittstelle
Grundlegende Datentypen und Referenztypen (Java)
[Java] Schleifenverarbeitung und Tabelle von neunundneunzig
Java-Argumente, Rückgabewerte und Überladungen
OpenJDK 8 Java- und Javac-Befehlshilfe
Java-Referenzmechanismus (Stack und Heap)