Heim >Java >javaLernprogramm >Können Sie private Methoden mithilfe von Reflection in Java aufrufen?

Können Sie private Methoden mithilfe von Reflection in Java aufrufen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-09 05:48:02844Durchsuche

Can You Invoke Private Methods Using Reflection in Java?

Private Methoden durch Reflektion aufrufen

Können Sie in Java eine private Methode durch Reflektion aufrufen?

Lösung :

Ja, es ist möglich, private Methoden mithilfe von Reflektion aufzurufen. Ändern Sie dazu den Code wie folgt:

Method method = object.getClass().getDeclaredMethod(methodName);
method.setAccessible(true);
Object r = method.invoke(object);

Zusätzliche Überlegungen:

  • getDeclaredMethod ruft nur in der aktuellen Klasse deklarierte Methoden ab, nicht geerbte Methoden .
  • Ein Sicherheitsmanager könnte die Verwendung von setAccessible einschränken und erfordern, dass es als privilegierter Benutzer ausgeführt wird Aktion.

Indem Sie diese Schritte befolgen, können Sie über Reflektion auf private Methoden zugreifen und diese aufrufen.

Das obige ist der detaillierte Inhalt vonKönnen Sie private Methoden mithilfe von Reflection in Java aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn