In Java können wir Variablen und Methoden als statisch definieren. Statische Variablen oder Methoden gehören zur Klasse selbst, nicht zu einzelnen Objekten dieser Klasse. Daher können wir über den Klassennamen auf eine statische Variable oder Methode zugreifen, ohne ein Objekt dieser Klasse zu erstellen.
In diesem Programm werden wir untersuchen, wie wir die Zugänglichkeit statischer Variablen mithilfe statischer Methoden überprüfen können. Wir definieren eine Klasse mit einer statischen Variablen und einer statischen Methode für den Zugriff auf die Variable. Dann rufen wir die statische Methode auf, um zu prüfen, ob sie auf die statische Variable zugreifen kann.
Hier sind einige wichtige Funktionen von Static in Java -
Statische Variablen – Statische Variablen sind Variablen auf Klassenebene, die von allen Instanzen einer Klasse gemeinsam genutzt werden. Es wird mit dem Schlüsselwort static definiert und nur einmal beim Laden der Klasse initialisiert. Verwenden Sie den Klassennamen gefolgt vom Punktoperator, um auf statische Variablen zuzugreifen.
Fall 1: Zugriff auf statische Methode über statische VariableWenn Sie jedoch eine statische Methode mit privatem Zugriffsmodifikator deklarieren, kann nur innerhalb derselben Klasse darauf zugegriffen werden. In diesem Fall kann über die statische Methode nicht auf die statische Variable zugegriffen werden, selbst wenn sie mit dem öffentlichen Zugriffsmodifikator deklariert wurde.
Methode
import java.io.*; public class Tutorialspoint { static int i = 100; public static void main(String[] args){ System.out.println("Static Variable = " + i); } }
Die Hauptmethode dieser Klasse ist mit einer öffentlichen, statischen, ungültigen Signatur definiert und akzeptiert ein Array von Zeichenfolgenparametern mit dem Namen „args“.
Verwenden Sie in der Hauptmethode die Methode System.out.println(), um den Wert der statischen Variablen „i“ zu drucken. Die Ausgabeanweisung enthält eine Zeichenfolge „Static Variable=", verkettet mit dem Wert der statischen Variablen „i".
Wenn dieses Programm ausgeführt wird, wird „Statische Variable = 100“ als Ausgabe ausgegeben, da der Wert der statischen Variablen „i“ auf 100 gesetzt ist.
Ausgabe
Static Variable = 100
Wenn Sie jedoch eine statische Variable mit privatem Zugriffsmodifikator deklarieren, kann nur innerhalb derselben Klasse auf sie zugegriffen werden. In diesem Fall kann die statische Methode nicht auf die statische Variable zugreifen, selbst wenn sie mit dem öffentlichen Zugriffsmodifikator deklariert ist.
In diesem Fall haben wir eine statische Variable, ein statisches Array und eine statische Methode in der Klasse deklariert. Statische Methoden greifen sowohl auf statische Variablen als auch auf statische Arrays zu und es ist nicht erforderlich, beim Aufruf der Methode eine Instanz der Klasse zu erstellen.
Da sowohl statische Variablen als auch statische Arrays zur Klasse und nicht zu einer bestimmten Instanz der Klasse gehören, kann über eine statische Methode auf sie zugegriffen werden, selbst wenn die Methode aufgerufen wird, ohne eine Instanz der Klasse zu erstellen.
Methode
声明一个名为 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]); } } }
创建一个新的 Java 类文件并将其命名为 Main.java。
在 Main.java 文件中,添加 main() 方法。
在 main() 方法中,使用类名称后跟方法名称和括号来调用 MyClass 类的 myStaticMethod() 方法,例如 MyClass.myStaticMethod();。
保存 Main.java 文件。
public class Main { public static void main(String[] args) { MyClass.myStaticMethod(); } }
通过在命令提示符或终端中运行命令 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
在 Java 中,静态变量和静态方法与类本身相关联,而不是与类的任何特定实例相关联。这意味着静态方法可以直接访问静态变量,只要该变量与该方法在同一个类中定义即可。
Das obige ist der detaillierte Inhalt vonJava-Programm zum Überprüfen der Zugänglichkeit einer statischen Methode auf eine statische Variable. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!