English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java-Grundlagen-Tutorial

Java Flow Control

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java-Exception-Handhabung

Java Liste (List)

Java Queue (Warteschlange)

Java Map Sammlung

Java Set Sammlung

Java Eingabe-Ausgabe (I/O)

Java Reader/Writer

Andere Themen von Java

Java Programmzugriff auf private Klasse-Mitglieder

Java Beispiele Referenz

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:

Beispiel1:Verwende Getter- und Setter-Methoden, um private Attribute abzurufen

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

Beispiel2:Verwenden Sie Reflection, um auf private Felder und Methoden zuzugreifen

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).

Java Beispiele Referenz