[JAVA] [Note personnelle] J'ai appris à la légère sur les modificateurs

Auto-introduction

C'est ma première année en tant que membre de la société qui vient d'étudier Java. Dans les commentaires de l'article suivant que j'ai écrit hier, les mots "** access modifier " et " class design **" sont apparus, donc j'écris cet article pour les étudier et les résumer. https://qiita.com/N46_myHearter/items/891b660b8748171779b1

Nous recherchons des conseils sur Java.

Qu'est-ce qu'un qualificatif?

Il peut être spécifié pour les classes, les méthodes et les variables, et il semble qu'il y ait divers effets en fonction du modificateur spécifié. Je ne connaissais les modificateurs d'accès tels que public private que lorsqu'il s'agissait d'un modificateur en Java, mais il y a beaucoup de modificateurs lol

Je connaissais les modificateurs d'accès, abstraits, statiques et définitifs, mais quels sont transitoires, volatils, synchronisés, natifs, strictfp ....! ?? LOL

Modificateur d'accès

Il y a public, protected et private, et cela semble indiquer où la classe qui conçoit le modificateur d'accès et ses variables et méthodes sont accessibles.

  1. ** public ** accessible de toutes les classes
  2. ** protected ** accessible depuis la classe actuelle et ses sous-classes
  3. ** privé ** Uniquement accessible à partir de la classe actuelle

La plage accessible est comme public> protected> private.

modificateur abstrait

Les méthodes de classe qui ont un ensemble abstrait sont appelées méthodes de classe abstraites. .. .. (Le résumé que j'ai étudié hier est sorti aussitôt ...) Si la classe parent a une configuration abstraite, ses classes enfants doivent être remplacées.

** Méthode abstraite ** Une méthode qui n'a pas de corps et se compose uniquement du nom de la méthode, des arguments et de la valeur de retour.

** Classe abstraite ** Une classe qui contient des méthodes abstraites. Il ne peut pas être instancié et il est nécessaire de créer une sous-classe héritée.

modificateur statique

Si statique est défini, il est accessible sans instanciation (je pense que vous pouvez le comprendre car il était statique même en langage C ... lol). Peut être spécifié pour les variables et les méthodes. Il ne peut pas être annulé. Il doit être accessible par nom de classe, nom de membre.

** instanciation ** Rendre la classe accessible et disponible (Cela initialise-t-il la classe!?).

modificateur final

Lorsque final est défini, il semble interdire l'écrasement des membres, le remplacement dans les sous-classes, l'héritage dans la clause extend, etc. Il peut être spécifié pour les classes, les variables et les méthodes, et la signification change en fonction de ce qui est spécifié.

** Si spécifié dans la classe ** La classe spécifiée ne peut pas être héritée.

** Lorsqu'il est spécifié comme variable ** La variable spécifiée est une constante (l'initialisation est requise lorsque la variable est déclarée, et après cela, la variable La valeur ne peut pas être modifiée).

** Lorsque spécifié dans la méthode ** La méthode spécifiée ne peut pas être remplacée.

passer outre Redéfinir ce qui est défini dans la classe parente dans la classe enfant (comme l'héritage).

modificateur transitoire

Si transitoire est défini, il semble être exclu de la sérialisation (qu'est-ce que la sérialisation ... lol). Peut être spécifié comme variable.

** Sérialiser ** Conversion d'un objet en tableau d'octets.

modificateur volatil

Si volatile est défini, il semble l'exclure du cache. Peut être spécifié comme variable.

modificateur synchronisé

Si synchronisé est défini, la méthode sera exécutée de manière synchrone. Peut être spécifié dans la méthode.

** Exécution synchrone ** Lorsqu'il y a plusieurs appels à peu près en même temps, donnez la priorité à celui qui a appelé en premier et laissez celui qui a appelé plus tard attendre la fin du traitement.

modificateur natif

Si native est définie, cela signifie qu'il est implémenté dans un langage autre que Java (vous pouvez peut-être utiliser un autre langage sur votre programme Java). Peut être spécifié dans la méthode.

modificateur strictfp

Si strictfp est défini, il semble possible de gérer strictement les virgules flottantes. Peut être spécifié pour les classes et les méthodes.

fin

Pour la fin, j'écris ce que les débutants de Java ont étudié, donc le contenu est mince lol Comme il existe de nombreux modificateurs, j'étudierai d'abord les modificateurs d'accès (d'autres seront reportés ww).

Recommended Posts

[Note personnelle] J'ai appris à la légère sur les modificateurs
[Notes personnelles] À propos du framework Spring
Mémo personnel Progate Ruby I (2)
Mémo personnel Progate Ruby I (1)
Ce que j'ai appris sur Kotlin
J'ai essayé un petit docker de digdag.
Un petit résumé sur la configuration de typeafe
[Rails] J'ai découvert les fichiers de migration! (Ajout d'une colonne au tableau)
[Modèle MVC] Un mémo qu'un débutant a appris MVC
[Rails] Ce que j'ai appris d'une petite pierre d'achoppement lors de l'utilisation de l'ascendance
[Mémo personnel] Écriture d'un fichier à l'aide de BufferedWriter
J'ai essayé de jouer un peu avec BottomNavigationView ①
[Mémo personnel] Lecture de fichiers à l'aide de BufferedReader
J'ai une question sur le studio Android.
[Mémo personnel] Une petite histoire sur les paramètres du processeur de Docker Desktop pour Windows
Résumé de ce que j'ai appris sur Spring Boot
[Rails] J'ai appris les types de types de données de base de données!
[Swift] [Débutant] J'ai beaucoup cherché sur #selector
Ce que j'ai appris
À propos des modificateurs d'accès
[Rails] J'ai étudié la différence entre les ressources et les ressources
Je veux utiliser une petite icône dans Rails
J'écrirai quand même ce que j'ai appris sur docker (deuxième)
[Mémo personnel] Créez une copie complète simple avec Java
[Mémo de travail de l'application personnelle] Créez un calendrier avec simple_calendar
[Mémo personnel] J'ai essayé d'étudier légèrement l'orientation des objets
Ce que j'ai appris lors de la création d'un serveur en Java
J'écrirai de toute façon ce que j'ai appris sur docker (en premier)
J'ai une question sur la saisie de chiffres au clavier