Java, Überlastungskonstruktor ab Anfänger

Nachtrag 2020/3/15 ・ In den Kommentaren wurde mir gesagt, dass Polymorphismus eine abstraktere Denkweise ist, deshalb habe ich die Beziehung zur Überlastung korrigiert.

Einführung

Dieser Artikel ist ein Memorandum. Obwohl es sich um einen Inhalt auf Referenzebene handelt, lautet der in diesem Artikel zu veröffentlichende Code ~~ ** Falsche ** Dinge stehen im Mittelpunkt. Dies dient dazu, den fehlerhaften Teil während der eigentlichen Codierung zu veröffentlichen und zur Selbstreflexion zu veröffentlichen ~~. Außerdem werde ich hier nicht auf den tiefen Teil eingehen, da ich ihn später überprüfen werde, während ich auch die Fragen zur Java Silver-Prüfung studiere.

Umgebung

Sprache: Java11, JDK13.0.2 Betriebsumgebung: Windows 10

Überlast

In der Klasse gibt es eine Regel, nach der Methoden mit demselben Namen koexistieren können. Selbst wenn Sie die Anzahl der Argumente erhöhen, die in einer Methode unbegrenzt behandelt werden sollen, ist es schwierig, alle Argumente gleichzeitig zu deklarieren, sodass der Klassenbenutzer sie leichter separat für die erforderlichen Funktionen vorbereiten kann.

Cat.java


getCatStatus(double weight,double height){
(Abkürzung)
}
getCatStatus(int age,int number){
(Abkürzung)
}
getCatStatus(String name,String voice){
(Abkürzung)
}

Zu diesem Zeitpunkt können Sie abhängig von der Argumentspezifikation bei Verwendung von getCatStatus () die passende Methode aus den gleichnamigen Methoden auswählen und verwenden. Diese Funktion heißt ** Überladung **. Als Einschränkung ** ist es erforderlich, den Typ und die Anzahl der Argumente jeder Methode mit demselben Namen unterschiedlich zu machen **. Dies schließt keine Unterschiede zwischen Rückgabetypen ein, sodass Sie keine Methode erstellen können, die dieselben Argumente mit unterschiedlichen ** Modifikatoren ** erfordert.

Konstrukteur

Beim Vorbereiten einer Klasse und Schreiben einer Methode kann der Anfangswert des Klassenfelds unmittelbar nach dem Erstellen des Objekts der Klasse festgelegt werden.

Cat.java


class Cat
{
  private double weight;
  private int age;

  public Cat()
  {
    weight = 1.0;
    age = 0;
  }
}

Wenn Sie eine Methode mit genau demselben Namen wie der Klassenname schreiben, können Sie den Anfangswert automatisch speichern, wenn ein Objekt mit der Klasse "new" erstellt wird.

Am Ende

Informationen zu der in der Überladung behandelten Funktion, bei der es sich um eine Methode mit demselben Namen handelt, die jedoch je nach Argument unterschiedliche Funktionen haben kann. Es handelt sich um einen Mechanismus der Mehrfachdefinition von Funktionen und insbesondere des ** Polymorphismus **, bei dem sich das Verhalten der Funktion je nach Art des Arguments ändert. Dies wird als ** Ad-hoc-Polymorphismus ** bezeichnet.

Hinweis: Adhook-Polymorphismus ist einer von ** Polymorphismus **

Referenz

Ich schreibe und kompiliere Variablen und Ausdrücke so oft wie möglich selbst. Wenn ich sie also vollständig zitieren möchte, werde ich sie beschreiben.

Easy Java 7th Edition Java SE11 Silver Problem Collection (allgemein bekannt als Kuromoto)

Recommended Posts

Java, Überlastungskonstruktor ab Anfänger
Java, Instanz für Anfänger
Java ab Anfänger, Vererbung
Java für Anfänger, Variablen und Typen
Java, if-Anweisung / switch-Anweisung ab Anfänger
Java, für Anweisung / while-Anweisung ab Anfänger
Java ab Anfänger, Klassendeklaration / Objekterzeugung
Java-Leben von vorne anfangen
Java (Konstruktor)
Java, abstrakte Klasse für Anfänger
Java Anfänger 4
Java Anfänger 3
Java Anfänger
Java, Schnittstelle für Anfänger
Java-Konstruktor
Java ab Anfänger, logischer Operator / bedingter Operator
Einführung in Java ab 0 Teil 1
IntelliJ ab 1
Übungen für Java-Anfänger
Verstehen Sie den Java-Konstruktor
Java-Übung "Anfänger"
Für Java-Ingenieure, die ab sofort Kotlin starten
[Java] KFunction von Method / Constructor in Java abrufen [Kotlin]
[Java] Überladen / Überschreiben / Vererbung
Rufen Sie Java von JRuby aus auf
Änderungen von Java 8 zu Java 11
Summe von Java_1 bis 100
[Anfänger] Java objektorientiert / Instanzfeld / Instanzmethode / Überladung [Anmerkung 24]
Eval Java-Quelle von Java
Bild-in-Bild ab iOS14
Greifen Sie über Java auf API.AI zu
Java 8 studieren (siehe Konstruktor)
Von Java zu Ruby !!
JAVA-Konstruktoraufrufverarbeitung
[Java] Plattformen zur Auswahl für die Java-Entwicklung ab sofort (2020)
[Java] Überladen und überschreiben
[Kotlin] Holen Sie sich Java Constructor / Method von KFunction und rufen Sie es auf
ClassCastException tritt bei der Migration von Java7 auf Java8 auf. ~ Generics and overload ~
Migration von Cobol nach JAVA
Progate Java (Anfänger) Review & Zusammenfassung
Elastic Search Indexerstellung aus Java
Neue Funktionen von Java7 bis Java8
Stellen Sie eine Verbindung von Java zu PostgreSQL her
Verwenden von Docker von Java Gradle
Von ineffektivem Java zu effektivem Java
JavaScript von Java aus gesehen
[Anfänger] Java grundlegende "Array" Beschreibung
Ich habe den Konstruktor (Java) studiert.
Führen Sie Nicht-Java-Anweisungen von Java aus