English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Beispiel werden wir lernen, wie man private Methoden und Attribute einer Klasse in Java abruft.
Um diesen Beispiel zu verstehen, sollten Sie die folgenden Kenntnisse habenJava-ProgrammierungThema:
class Test { //Privater Variablen private int age; private String name; // Initialisiere age public void setAge(int age) { this.age = age; } // Initialisiere name public void setName(String name) {}} this.name = name; } // Besuchen Sie age public int getAge() { return this.age; } // Besuchen Sie name public String getName() { return this.name; } } class Main { public static void main(String[] args) { //Erstellen Sie ein Test-Objekt Test test = new Test(); // Den Wert der privaten Variablen setzen test.setAge(24); test.setName("w3codebox"); //Den Wert der privaten Variablen erhalten System.out.println("Alter: " " + test.getAge()); System.out.println("Name: " " + test.getName()); } }
Ausgabeergebnis
Alter: 24 Name: w3codebox
Im obigen Beispiel haben wir private Variablen namens age und name. Hier versuchen wir, auf die privaten Variablen aus einer anderen Klasse namens Main zuzugreifen.
Wir haben bereits mit getter- und setter-Methode auf die privaten Variablen zugegriffen. Hier,
setter-Methode - setAge() und setName() initialisieren die privaten Variablen
getter-Methode - getAge() und getName() geben den Wert der privaten Variablen zurück
import java.lang.reflect.*; class Test { //Privater Variablen private String name; //Privater Methoden private void display() { System.out.println("The name is " " + name); } } class Main { public static void main(String[] args) { try //Erstellen Sie ein Test-Objekt Test test = new Test(); //Erstellen Sie ein Objekt namens obj Class obj = test.getClass(); //Besuchen Sie den privaten Variablen Field field = obj.getDeclaredField("name"); // Machen Sie das private Feld zugänglich field.setAccessible(true); //Den Wert des Felds setzen field.set(test, "w3codebox"); //Den Wert des Felds erhalten //und konvertieren Sie sie in einen String String value = (String)field.get(test); System.out.println("Name: " " + value); //Besuchen Sie den privaten Methoden Method[] methods = obj.getDeclaredMethods(); System.out.println("Methodenname: ", + methods[0].getName()); int modifier = methods[0].getModifiers(); System.out.println("Zugriffsmodifikator: ", + Modifier.toString(modifier)); } catch(Exception e) { e.printStackTrace(); } } }
Ausgabeergebnis
Name: w3codebox Methodenname: display Zugriffsmodifikator: private
In diesem Beispiel haben wir ein privates Feld name und eine private Methode display(). Hier verwenden wir Reflection, um auf das private Feld und die Methode der Klasse Test zuzugreifen.
Um Reflection zu verstehen, besuchen SieJava Reflection (Reflexion).