Portée de la variable Java (portée)

Cet article a été écrit pour les personnes qui programmaient dans d'autres langages et qui aimeraient essayer la programmation en Java.

Qu'est-ce qu'une portée

Une portée est une plage utilisable. Non limité aux variables, la portée est appelée la portée. Cette fois, je vais donner un exemple de la portée des variables. Exemple 1) スクリーンショット_2020-05-14_11_33_19.png Comme vous pouvez le voir, vous ne pouvez pas importer de variables de chaîne directement à partir de main. En d'autres termes, la portée i de la chaîne est dans la chaîne, et la portée i de main est en général. Exemple 2) スクリーンショット_2020-05-14_11_49_55.png La valeur déclarée dans l'instruction if ne peut être utilisée que dans l'instruction if. Si vous souhaitez l'utiliser ailleurs, il n'y a pas de problème si vous modifiez la valeur déclarée à l'extérieur de l'instruction if pour qu'elle soit opérée dans l'instruction if. スクリーンショット_2020-05-14_11_50_34.png

Variables globales et locales

Il existe deux types de variables: les variables globales et les variables locales. Les variables locales sont des valeurs (= portée finie) qui ne peuvent être utilisées que dans la plage mentionnée ci-dessus. Les variables globales, en revanche, sont des variables de portée illimitée. La variable globale elle-même n'existe pas en Java, mais elle peut être dans le même état que la variable globale. La méthode de description est la description des variables statiques publiques. Exemple) スクリーンショット_2020-05-14_13_07_38.png Les variables globales peuvent être référencées de n'importe où, vous pouvez donc modifier leurs valeurs à partir d'autres classes. Il a un impact énorme, alors utilisez-le uniquement lorsque vous en avez besoin et utilisez des variables locales autant que possible.

public et statique

J'ai mentionné que les variables globales sont décrites comme des variables statiques publiques, Cela est dû au fait qu'il étend les espaces (étendues) où le public et le statique peuvent être utilisés. J'expliquerai également ces deux points.

Modificateur d'accès

public est l'un des modificateurs d'accès. Je vais vous donner un par un. ・ Le public n'a aucune restriction. · Protégé autorise l'accès uniquement à partir d'une classe ou d'une sous-classe qui hérite de la classe. -Si rien n'est attaché, il est accessible à partir de toutes les classes du même package. -Private n'est accessible que depuis l'intérieur de la classe.

Parmi ceux-ci, le mouvement a été confirmé à l'exception de la variable protégée, mais comme le mouvement protégé était inattendu, il s'agit d'une condition autre qu'une fois protégée. Programme de confirmation

practice.java



class Main {
  public static String pubstr = "Publique";
  protected static String prostr = "protégé";
  static String str = "Aucun";
  private static String pristr = "privé";
  
  public static void main(String[] args) {
    System.out.println(pubstr); //Publique
    System.out.println(str); //Aucun
    System.out.println(pristr); //privé

    check();
    Sub subclass = new Sub();
    subclass.sub();
  }

  public static void check() {
    System.out.println(pubstr); //Publique
    System.out.println(str); //Aucun
    System.out.println(pristr); //privé
  }
}

class Sub {
  public void sub() {
    Main m = new Main();
    System.out.println(m.pubstr); //Publique
    System.out.println(m.str); //Aucun
    System.out.println(m.pristr); //Erreur car le privé ne peut pas être obtenu
  }
}

static Static signifie que vous pouvez également utiliser des méthodes statiques (méthodes avec static). Montrez un exemple concret.

practice.java


class Main {
  public int ni = 10;
  public static int si = 7;
  int di = 999;
  
  public static void main(String[] args) {
    System.out.println(ni); //Erreur car ni n'est pas une variable statique
    System.out.println(si); //Puisque si est une variable statique, 7 est affiché
  }

  public void check(String[] args) {
    System.out.println(ni); //10 est affiché car la vérification n'est pas une méthode statique
    System.out.println(si); //7 est émis car la vérification n'est pas une méthode statique
  }
}

De cette façon, seules les variables avec static peuvent être utilisées dans les méthodes avec static.

Recommended Posts

Portée de la variable Java (portée)
Portée de la variable Java
variable de tableau java
déclaration de variable java
Portée de session Java
[Java] Mémo de nom du nom de variable
À propos des instructions de déclaration de variable Java
Passez des variables à Scope.
Portée
Java
Portée de la variable Java (plage où les variables peuvent être vues)
[Introduction à Java] Portée de la variable (portée, variable locale, variable d'instance, variable statique)
Java
Portée de la requête Java Servlet / JSP, partie 1
Déclaration, initialisation et types de variables Java
[Java] Syntaxe orientée objet --Classe / champ / méthode / portée
Portée de la requête Java Servlet / JSP, partie 2
Paramètres des variables d'environnement Java (Windows, AdoptOpenJDK11)
Comment écrire une déclaration de variable Java
Attribuer les résultats de l'évaluation aux variables Java
[Connaissance de base de Java] Portée des variables
Apprendre Java (0)
Étudier Java ―― 3
[Java] tableau
Java protégé
[Java] Annotation
Tableau Java
Étudier Java ―― 9
Java scratch scratch
java (constructeur)
Créer des données binaires de longueur variable en Java
[Java] ArrayDeque
variable statique
java (remplacement)
java (méthode)
Journée Java 2018
Chaîne Java
java (tableau)
Java statique
java débutant 4
Étudier Java ―― 4
Java (ensemble)
tri shell java
[Java] compareTo
Étudier Java -5
[Java ~ A propos de la définition de variable et de la conversion de type ~] Note d'étude
java réfléchissant 获 获 举
Mémorandum Java
Tableau Java
Étudier Java ―― 1
[Java] Array
[Java] Polymorphisme
Étudier Java # 0
Revue Java
framework java
[Java] Héritage
FastScanner Java
java débutant 3
java (encapsulation)
Héritage Java