Maison > Java > javaDidacticiel > Programme Java pour vérifier l'accessibilité de la méthode statique à la variable statique

Programme Java pour vérifier l'accessibilité de la méthode statique à la variable statique

WBOY
Libérer: 2023-08-26 17:25:06
avant
998 Les gens l'ont consulté

Programme Java pour vérifier laccessibilité de la méthode statique à la variable statique

Présentation

En Java, nous pouvons définir des variables et des méthodes comme statiques. Les variables ou méthodes statiques appartiennent à la classe elle-même, et non aux objets individuels de cette classe. Par conséquent, nous pouvons accéder à une variable ou à une méthode statique en utilisant le nom de la classe sans créer d'objet de cette classe.

Dans ce programme, nous explorerons comment vérifier l'accessibilité des variables statiques via des méthodes statiques. Nous allons définir une classe avec une variable statique et une méthode statique pour accéder à la variable. Ensuite, nous appellerons la méthode statique pour vérifier si elle peut accéder à la variable statique.

Définition

Statique

Le mot-clé

static est très utile en Java pour créer des méthodes utilitaires ou des variables accessibles à partir de plusieurs classes sans créer d'objet de cette classe. Il est également utilisé pour maintenir la même valeur constante dans toutes les instances d'une classe. Cependant, l'utilisation de variables et de méthodes statiques peut entraîner des problèmes potentiels tels que la sécurité des threads et des difficultés de test. Elles doivent donc être utilisées avec prudence.

Voici quelques fonctionnalités clés de la statique en Java -

  • Variables statiques

  • Méthodes statiques

  • Blocage statique

  • Classe imbriquée statique

Variables statiques - Les variables statiques sont des variables au niveau de la classe qui sont partagées entre toutes les instances d'une classe. Il est défini à l'aide du mot-clé static et n'est initialisé qu'une seule fois lors du chargement de la classe. Utilisez le nom de la classe suivi de l'opérateur point pour accéder aux variables statiques.

Cas 1 : Accéder à la méthode statique via une variable statique

Si vous déclarez une méthode statique avec un modificateur d'accès public, toute autre classe peut accéder à la méthode, y compris les classes contenant des variables statiques. Dans ce cas, la variable statique est accessible via la méthode statique si elle est également déclarée avec le modificateur d'accès public.

Cependant, si vous déclarez une méthode statique avec un modificateur d'accès privé, elle n'est accessible qu'au sein de la même classe. Dans ce cas, la variable statique n'est pas accessible via la méthode statique, même si elle est déclarée avec le modificateur d'accès public.

Méthode

  • Utilisez l'instruction "import" pour importer les bibliothèques d'E/S nécessaires.

  • Définissez une classe Java appelée "Tutorialspoint".

  • Déclarez une variable statique "i" de type int et attribuez-lui une valeur de 100.

  • Définissez la méthode main() avec des signatures publiques, statiques et vides et prenez un tableau de paramètres de chaîne nommés "args".

  • Dans la méthode main(), utilisez la méthode System.out.println() pour afficher la valeur de la variable statique "i" sur la console.

  • Enregistrez le code dans un fichier Java nommé "Tutorialspoint.java".

  • Compilez le code Java à l'aide d'un compilateur Java (par exemple "javac").

  • Exécutez le code Java à l'aide de la commande "java", qui exécute la méthode "main" et affiche la sortie "Static Variable = 100" sur la console.

Exemple

import java.io.*;

public class Tutorialspoint {

   static int i = 100;

   public static void main(String[] args){
      System.out.println("Static Variable = " + i);
   }
}
Copier après la connexion

Dans cet exemple, la classe nommée "Tutorialspoint" est définie avec une variable statique nommée "i" de type de données entier et initialisée avec la valeur 100.

La méthode principale de cette classe est définie avec une signature publique, statique et vide et prend un tableau de paramètres de chaîne nommés "args".

Dans la méthode principale, utilisez la méthode System.out.println() pour imprimer la valeur de la variable statique "i". L'instruction de sortie contient une chaîne "Static Variable=" concaténée avec la valeur de la variable statique "i".

Lorsque ce programme est exécuté, il imprimera « Variable statique = 100 » en sortie car la valeur de la variable statique « i » est définie sur 100.

Sortie

Les variables statiques sont des variables qui appartiennent à une classe plutôt qu'à une instance de la classe. Cela signifie que toutes les instances de la classe partagent une seule copie de la variable statique. En d’autres termes, les variables statiques sont des variables de niveau classe accessibles sans créer d’objet de la classe.

Static Variable = 100
Copier après la connexion

Cas 2 : Accès aux variables statiques via des méthodes statiques

Si vous déclarez une variable statique à l'aide du modificateur d'accès public, toute autre classe peut accéder à la variable, y compris les classes contenant des méthodes statiques. Dans ce cas, la variable statique est accessible par la méthode statique si elle est également déclarée avec le modificateur d'accès public.

Cependant, si vous déclarez une variable statique avec un modificateur d'accès privé, elle n'est accessible qu'au sein de la même classe. Dans ce cas, la méthode statique ne peut pas accéder à la variable statique, même si elle est déclarée avec le modificateur d'accès public.

Dans ce cas, nous avons déclaré une variable statique, un tableau statique et une méthode statique dans la classe. Les méthodes statiques accèdent à la fois aux variables statiques et aux tableaux statiques, et il n'est pas nécessaire de créer une instance de la classe lors de l'appel de la méthode.

Étant donné que les variables statiques et les tableaux statiques appartiennent à la classe et non à une instance spécifique de la classe, ils sont accessibles via une méthode statique même si la méthode est appelée sans créer d'instance de la classe.

Méthode

  • Créez un nouveau fichier de classe Java et nommez-le MyClass.java.

  • Dans le fichier MyClass.java, déclarez une variable entière statique privée nommée count et initialisez-la à 0.

  • 声明一个名为 myArray 的私有静态整数数组,并使用一些值对其进行初始化,例如 myArray = new int[]{1, 2, 3, 4, 5};

  • 声明一个名为 myStaticMethod() 的公共静态方法,它执行以下操作 -

    • 将 count 的值增加 1。

    • 使用 System.out.println() 将 count 的值打印到控制台。

    • 循环遍历 myArray 数组并使用 System.out.println() 将每个元素打印到控制台。

  • 保存 MyClass.java 文件。

示例

public class MyClass {
   private static int count = 0;
   private static int[] myArray = new int[]{1, 2, 3, 4, 5};
       
   public static void myStaticMethod() {
      count++;

      System.out.println("Count: " + count);
              
      for (int i = 0; i < myArray.length; i++) {
         System.out.println(myArray[i]);
      }
   }
}
Copier après la connexion
  • 创建一个新的 Java 类文件并将其命名为 Main.java。

  • 在 Main.java 文件中,添加 main() 方法。

  • 在 main() 方法中,使用类名称后跟方法名称和括号来调用 MyClass 类的 myStaticMethod() 方法,例如 MyClass.myStaticMethod();。

  • 保存 Main.java 文件。

public class Main {
   public static void main(String[] args) {
      MyClass.myStaticMethod();
   }
}
Copier après la connexion
  • 通过在命令提示符或终端中运行命令 javac MyClass.java Main.java 来编译 MyClass.java 和 Main.java 文件。

  • 通过在命令提示符或终端中运行命令 java Main 来运行程序。

在此示例中,我们有一个 MyClass 类,其中包含静态变量 count 和静态数组 myArray,以及静态方法 myStaticMethod()。 myStaticMethod() 方法将 count 的值加 1,将 count 的值打印到控制台,然后循环遍历 myArray 数组并将每个元素打印到控制台。

输出

在 Main 类中,我们通过使用类名后跟方法名和括号来调用 MyClass 类本身(而不是该类的任何实例)上的 myStaticMethod() 方法。此方法调用将执行 myStaticMethod() 方法并将以下内容输出到控制台 -

Count: 1
1
2
3
4
5
Copier après la connexion

结论

  • 在 Java 中,静态变量和静态方法与类本身相关联,而不是与类的任何特定实例相关联。这意味着静态方法可以直接访问静态变量,只要该变量与该方法在同一个类中定义即可。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal