Statische Methoden werden mit dem Schlüsselwort static definiert, aber das Schlüsselwort static wird beim Deklarieren von Instanzvariablen nicht verwendet. Normalerweise können wir nicht über statische Methoden auf Instanzvariablen zugreifen.
In diesem Artikel erstellen wir eine Instanzvariable und prüfen dann die Zugänglichkeit der Instanzvariablen über eine statische Methode. Lassen Sie uns zunächst statische Methoden und Instanzvariablen verstehen.
Im Kontext von Programmiersprachen ist eine Variable der Name eines Containers, der Daten jeglicher Art enthält. Wir können sagen, dass es sich um eine Lagereinheit handelt.
Data_Type nameOfvariable = values [optional];
Eine Variable kann zum Zeitpunkt der Deklaration initialisiert werden, oder wir können sie bei Bedarf im gesamten Programm initialisieren. Der Wert muss jedoch vom gleichen Datentyp sein wie zum Zeitpunkt der Deklaration angegeben.
String str; // only declaration int price = 59; // declaration and initialization str = “Tutorix”; // initialization of ‘str’
Instanzvariablen gehören zu den Variablentypen, die nicht statisch sind. Sie werden innerhalb der Klasse deklariert, sind aber für alle Methoden zugänglich, die zu der Klasse gehören, in der sie definiert sind Öffentlich, privat, geschützt oder Standard. Wenn wir keinen Zugriffsspezifizierer erwähnen, wird die Variable mit dem Standardzugriffsspezifizierer initialisiert.
Statische Methoden werden mit dem Schlüsselwort „Static“ ohne Zugriffsmodifikator definiert. Normalerweise rufen wir eine Methode auf, indem wir ein Objekt ihrer Klasse erstellen, aber statische Methoden können ohne Verwendung von Objekten aufgerufen werden. Wir rufen sie nur mit ihrem Klassennamen auf, da die statische Methode nicht zur Klasse gehört zur Instanz dieser Klasse.
Class_name.static_method_name
Zum Beispiel sind die meisten Mitglieder der eingebauten Klasse Math statisch. Wir können sie direkt verwenden, ohne ihr Objekt zu erstellen.
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
Das obige Beispiel veranschaulicht die Verwendung der statischen Methoden ceil() und floor() der Math-Klasse. Wir können sehen, dass wir sie direkt in unserem Programm verwenden, ohne irgendwelche Math-Klassenobjekte zu erstellen.
Wir haben bereits weiter oben in diesem Artikel erwähnt, dass wir nicht direkt über eine statische Methode auf Instanzvariablen zugreifen können, sondern nur durch Erstellen einer Instanz oder eines Objekts der Klasse.
Das folgende Programm zeigt, ob wir mit der statischen Methode main() auf die Instanzvariable zugreifen können
public class Main { public String str = "Tutorialspoint"; public static void main(String []args) { System.out.println(" Accessing instance variable " + str); } }
Wenn wir versuchen, den obigen Code auszuführen, erhalten wir eine Fehlermeldung.
Main.java:4: error: non-static variable str cannot be referenced from a static context System.out.println(" Accessing instance variable " + str); ^ 1 error
Das folgende Programmbeispiel veranschaulicht, wie man über statische Methoden auf Instanzvariablen zugreift. Wir erstellen ein Objekt „obj“ der Hauptklasse und können mithilfe dieses Objekts auf die Variable „str“ zugreifen.
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
In diesem Artikel haben wir etwas über das Konzept von Instanzvariablen und statischen Methoden gelernt. Darüber hinaus haben wir auch die Zugänglichkeit statischer Methoden für Instanzvariablen über Java-Programme diskutiert.
Das obige ist der detaillierte Inhalt vonJava-Programm zur Überprüfung der Zugänglichkeit von Instanzvariablen durch statische Methoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!