English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La única solución posible es obtener el seguimiento de la pila de la hilera actual. Obtener el nombre de la clase de los elementos de la pila. Pásalo al método forName() de la clase llamada Class.
Esto devolverá un objeto Class, que puede usarnewInstance()Método para obtener una instancia de esta clase.
public class MyClass { String name = "Krishna"; private int age = 25; public MyClass() { System.out.println("Objeto de la clase MyClass"); System.out.println("name: "+this.name); System.out.println("age: "+this.age); } public static void demoMethod() throws Exception { StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); StackTraceElement current = stackTrace[1]; Class.forName(current.getClassName()).newInstance(); } public static void main(String args[]) throws Exception { demoMethod(); } }
Resultado de salida
Objeto de la clase MyClass name: Krishna age: 25