Java, constructeur de surcharge à partir du débutant

Postscript 2020/3/15 ・ On m'a dit dans les commentaires que le polymorphisme est une façon de penser plus abstraite, j'ai donc corrigé la relation avec la surcharge.

introduction

Cet article est un mémorandum. Bien qu'il s'agisse d'un contenu de niveau de référence, le code à publier dans cet article est ~~ ** L'erreur ** est le centre. Ceci est dans le but de poster la partie erronée pendant le codage réel et de l'afficher pour une auto-réflexion ~~. De plus, je n'aborderai pas la partie profonde ici parce que je vais l'examiner plus tard tout en étudiant les questions d'examen Java Silver.

environnement

Langue: Java11, JDK13.0.2 Environnement d'exploitation: Windows 10

Surcharge

Dans la classe, il existe une règle selon laquelle les méthodes portant le même nom peuvent coexister. Même si vous augmentez le nombre d'arguments à gérer dans une méthode sans limite, il est difficile de déclarer tous les arguments à la fois, il est donc plus facile pour l'utilisateur de classe de les préparer séparément pour les fonctions nécessaires.

Cat.java


getCatStatus(double weight,double height){
(Abréviation)
}
getCatStatus(int age,int number){
(Abréviation)
}
getCatStatus(String name,String voice){
(Abréviation)
}

À ce stade, en fonction de la spécification de l'argument lors de l'utilisation de getCatStatus (), vous pouvez sélectionner la méthode correspondante parmi les méthodes du même nom et l'utiliser. Cette fonction est appelée ** surcharge **. En guise de mise en garde, ** il est nécessaire de rendre le type et le nombre d'arguments de chaque méthode avec le même nom différents **. Cela n'inclut pas les différences dans les types de retour, vous ne pouvez donc pas créer une méthode qui nécessite les mêmes arguments avec différents ** modificateurs **.

constructeur

Lors de la préparation d'une classe et de l'écriture d'une méthode, la valeur initiale du champ de classe peut être définie immédiatement après la création de l'objet de la classe.

Cat.java


class Cat
{
  private double weight;
  private int age;

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

Si vous écrivez une méthode avec exactement le même nom que le nom de la classe, vous pouvez stocker automatiquement la valeur initiale lorsqu'un objet est créé par new en utilisant la classe.

À la fin

À propos de la fonction gérée dans la surcharge, qui est une méthode du même nom mais qui peut avoir différentes fonctions selon l'argument. Il s'agit d'un mécanisme de définition multiple des fonctions, et en particulier du ** polymorphisme ** dans lequel le comportement de la fonction change selon le type d'argument est appelé ** polymorphisme ad hoc **.

Remarque: le polymorphisme Adhook est l'un des ** Polymorphisme **

référence

J'écris et compile autant que possible des variables et des expressions moi-même, donc si je veux les citer complètement, je vais les décrire.

Easy Java 7ème édition Java SE11 Silver Problem Collection (communément appelé Kuromoto)

Recommended Posts

Java, constructeur de surcharge à partir du débutant
Java, instance à partir du débutant
Java à partir de débutant, héritage
Java pour les débutants, les variables et les types
Java, instruction if / instruction switch à partir du débutant
Java, pour instruction / while à partir du débutant
Java à partir du débutant, déclaration de classe / génération d'objet
La vie Java à partir de zéro
java (constructeur)
Java, classe abstraite pour commencer par débutant
java débutant 4
java débutant 3
java débutant
Java, interface pour partir du débutant
Constructeur Java
Java à partir du débutant, opérateur logique / opérateur conditionnel
Introduction à Java à partir de 0 Partie 1
IntelliJ à partir de 1
Exercices pour les débutants Java
Comprendre le constructeur java
Exercice Java "Débutant"
Pour les ingénieurs Java qui démarrent Kotlin à partir de maintenant
[Java] Obtenir KFunction à partir de la méthode / du constructeur en Java [Kotlin]
[Java] Surcharge / Remplacer / Héritage
Appeler Java depuis JRuby
Changements de Java 8 à Java 11
Somme de Java_1 à 100
[Débutant] Orienté objet Java / champ d'instance / méthode d'instance / surcharge [Note 24]
Évaluer la source Java à partir de Java
Picture-in-picture à partir d'iOS14
Accédez à API.AI depuis Java
Etudier Java 8 (voir constructeur)
De Java à Ruby !!
Traitement des appels du constructeur JAVA
[Java] Plates-formes parmi lesquelles choisir pour le développement Java à partir de maintenant (2020)
[Java] Surcharge et remplacement
[Kotlin] Obtenez le constructeur / la méthode Java de KFunction et appelez-le
ClassCastException se produit lors de la migration de Java7 vers Java8 ~ Génériques et surcharge ~
Migration de Cobol vers JAVA
Révision et résumé de Progate Java (débutant)
Création d'index Elastic Search à partir de Java
Nouvelles fonctionnalités de Java7 à Java8
Connectez-vous de Java à PostgreSQL
Utilisation de Docker depuis Java Gradle
De Java inefficace à Java efficace
JavaScript vu de Java
[Débutant] Description du "tableau" de base Java
J'ai étudié le constructeur (java)
Exécuter des instructions non-Java à partir de Java