Java, instance à partir du débutant

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. C'est dans le but de publier la partie qui s'est réellement trompée lors du codage et de la publier pour une réflexion personnelle. ~~ De plus, je n'aborderai pas la partie profonde ici, car je la passerai en revue plus tard tout en étudiant les questions d'examen Java Silver.

environnement

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

exemple

Je me souviens avoir parlé d'objets et d'instances avec confusion auparavant, mais j'aimerais les aborder à nouveau. Tout d'abord, préparez le cours Cat comme d'habitude.

Cat.java


class Cat
{
  public static int sumCats = 0;

  private int age;
  private double weight;

  public Cat()
  {
    age = 0;
    weight = 0.0;
    sumCats++;
    System.out.println("Un nouveau chat est arrivé!");
  }

  public void setCat(int a,double w)
  {
    age = a;
    weight = w;

    System.out.println("Ce chat est vieux" + age + "Âge, poids" + weight + "C'est kg.");
  }

  public static void showSumCats()
  {
    System.out.println("Maintenant au total" + sumCats + "Il y a deux chats.");
  }
}

Prenons le cas où deux chats sont préparés en utilisant cette classe «Cat».

Dans le cas ci-dessus, les deux chats utilisent la ** variable d'instance **, qui est le champ associé à chaque objet, et la ** méthode d'instance **, qui est la méthode associée à l'objet. Avoir. Ces variables et méthodes d'instance "deviennent accessibles après la création de l'objet (« new »)».

Des malentendus que j'ai eu jusqu'à présent ・ Objet Object instance

⇒ Méthode de champ pour chaque objet = Méthode de variable d'instance * nouveau !! *

Variables de classe / méthodes de classe

Cependant, vous souhaitez gérer certains membres (méthodes de champ) avant la création de l'objet. Par conséquent, les membres qui sont ** associés à la classe elle-même ** peuvent être déclarés et utilisés comme «statiques».

public static void showSumCats () est Reportez-vous à la ** variable de classe sumCats ** déclarée comme public static int sumCats = 0;, et ** constructeur Cat () ** est appelé chaque fois que new est fait, et il est automatiquement incrémenté. Il est devenu. Ce lien "combien de fois les objets Cat ont été créés" avec "nombre total de chats". Puisque showSumCats () est statique, c'est une méthode qui peut être appelée même si" l'objet Cat n'a jamais été créé ". Par conséquent, "0 chat" peut être indiqué.

Qu'est-ce que c'est.

** Uniquement dans les méthodes d'instance **, this.age et this.weight peuvent être écrits pour indiquer uniquement les valeurs de champ associées à l'objet. L'histoire des variables locales est omise.

À la fin

Si vous ne comprenez pas bien si les variables / méthodes que vous allez gérer dans la fonction principale sont liées aux classes ou aux objets par static, il y a pas mal de problèmes à résoudre ici.

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 7e édition Java SE11 Silver Problem Collection (communément appelé Kuromoto)

Recommended Posts

Java, instance à partir du débutant
Java à partir du débutant, remplacer
Java à partir de débutant, héritage
Java, constructeur de surcharge à partir du débutant
Java pour les débutants, les variables et les types
Java à partir du débutant, imbriqué / break / continue
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 débutant 4
java débutant 3
java débutant
Java, classe abstraite pour commencer par débutant
Java, interface pour partir du débutant
IntelliJ à partir de 1
[Java] Instance d'exception
Java à partir du débutant, opérateur logique / opérateur conditionnel
Introduction à Java à partir de 0 Partie 1
Exercice Java "Débutant"
Pour les ingénieurs Java qui démarrent Kotlin à partir de maintenant
Appeler Java depuis JRuby
Changements de Java 8 à Java 11
Somme de Java_1 à 100
Évaluer la source Java à partir de Java
Accédez à API.AI depuis Java
De Java à Ruby !!
[Débutant] Orienté objet Java / champ d'instance / méthode d'instance / surcharge [Note 24]
[Java] Plates-formes parmi lesquelles choisir pour le développement Java à partir de maintenant (2020)
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
Exécuter des instructions non-Java à partir de Java
[Java twig] Changer et ajouter le comportement de l'instance de l'extérieur (Proxy black magic)
Résolvez AtCoder Beginner Contest 151 avec Java
Appeler la classe scellée de Kotlin depuis Java
Résolvez AtCoder Beginner Contest 150 avec Java
Coder Java depuis Emacs avec Eclim
Résolvez AtCoder Beginner Contest 153 avec Java
[Java débutant] À propos de l'abstraction et de l'interface
Obtenir le pays à partir de l'adresse IP (Java)
Exécuter le fichier de commandes à partir de Java
[Java] Supprimer les espaces dans les chaînes de caractères
Procédure de préparation pratique d'Akka à partir de Java
[Java débutant] == opérateur et méthode equals
Accéder à Teradata depuis une application Java
Résolvez AtCoder Beginner Contest 175 avec Java
Utiliser Chrome Headless de Selenium / Java
Java sera impliqué dès aujourd'hui
De Java à VB.NET - Écriture de notes de contraste
Résolvez AtCoder Beginner Contest 160 avec Java
Mesure de la mémoire d'utilisation des instances en Java
Travailler avec des feuilles de calcul Google à partir de Java
Résolvez AtCoder Beginner Contest 152 avec Java
[Java] Comment définir le proxy lors du démarrage de Java