Les méthodes statiques sont définies à l'aide du mot-clé static, mais le mot-clé static n'est pas utilisé lors de la déclaration des variables d'instance. Normalement, nous ne pouvons pas accéder aux variables d'instance via des méthodes statiques.
Dans cet article, nous allons créer une variable d'instance puis vérifier l'accessibilité de la variable d'instance via une méthode statique. Comprenons d’abord les méthodes statiques et les variables d’instance.
Dans le contexte des langages de programmation, une variable est le nom d'un conteneur qui contient des données de tout type. On peut dire que c'est une unité de stockage.
Data_Type nameOfvariable = values [optional];
Une variable peut être initialisée au moment de la déclaration ou nous pouvons l'initialiser lorsque cela est requis dans l'ensemble du programme. Mais la valeur doit être du même type de données que celui spécifié au moment de la déclaration.
String str; // only declaration int price = 59; // declaration and initialization str = “Tutorix”; // initialization of ‘str’
Les variables d'instance sont l'un des types de variables non statiques. Elles sont déclarées à l'intérieur de la classe mais en dehors de la portée de chaque méthode de cette classe. Elles sont accessibles à toutes les méthodes appartenant à la classe où elles peuvent être définies. public, privé, protégé ou par défaut Si nous ne mentionnons aucun spécificateur d'accès, la variable sera initialisée avec le spécificateur d'accès par défaut.
Les méthodes statiques sont définies à l'aide d'un mot-clé statique sans modificateur d'accès. Normalement, nous appelons une méthode en créant un objet de sa classe, mais les méthodes statiques peuvent être appelées sans utiliser d'objets. Nous les appelons en utilisant leur nom de classe uniquement parce que la méthode statique n'appartient pas à la classe. à l'instance de cette classe.
Class_name.static_method_name
Par exemple, la plupart des membres de la classe intégrée Math sont statiques. Nous pouvons les utiliser directement sans créer son objet.
public class Main { public static void main( String[] args ) { double x = 6.55; double y = 4.32; System.out.println(" Ceil value of x: " + Math.ceil(x) ); System.out.println(" Floor value of y: " + Math.floor(y) ); System.out.println(" Value of PI = " + Math.PI); } }
Ceil value of x: 7.0 Floor value of y: 4.0 Value of PI = 3.141592653589793
L'exemple ci-dessus illustre l'utilisation des méthodes statiques ceil() et floor() de la classe Math. Nous pouvons voir que nous les utilisons directement dans notre programme sans créer d’objets de classe Math.
Nous avons déjà mentionné plus tôt dans cet article que nous ne pouvons pas accéder directement aux variables d'instance par une méthode statique, nous ne pouvons y accéder qu'en créant une instance ou un objet de la classe.
Le programme suivant montre si nous pouvons accéder à la variable d'instance par la méthode statique main() ou non
.public class Main { public String str = "Tutorialspoint"; public static void main(String []args) { System.out.println(" Accessing instance variable " + str); } }
Si nous essayons d'exécuter le code ci-dessus, nous obtiendrons une erreur.
Main.java:4: error: non-static variable str cannot be referenced from a static context System.out.println(" Accessing instance variable " + str); ^ 1 error
L'exemple de programme suivant illustre comment accéder aux variables d'instance via des méthodes statiques. Nous allons créer un objet 'obj' de la classe Main et en utilisant cet objet nous pourrons accéder à la variable 'str'.
public class Main { public String str = "Tutorialspoint"; public static void main(String []args) { Main obj = new Main(); // creating object using new keyword // To access the instance variable ‘str’ System.out.println(" Accessing instance variable: " + obj.str); } }
Accessing instance variable: Tutorialspoint
Dans cet article, nous avons découvert le concept de variables d'instance et de méthodes statiques. De plus, nous avons également discuté de l'accessibilité des méthodes statiques aux variables d'instance via des programmes 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!