阅读量:0
在Java中,要获取当前类的实例,可以使用以下方法之一:
- 使用
this
关键字(仅适用于非静态方法):
public class MyClass { public void myMethod() { MyClass instance = this; } }
- 使用
MyClass.class
获取类对象,然后调用newInstance()
方法(已过时,不推荐使用):
public class MyClass { public static void main(String[] args) { try { MyClass instance = (MyClass) MyClass.class.newInstance(); } catch (InstantiationException | IllegalAccessException e) { e.printStackTrace(); } } }
- 使用
MyClass.class
获取类对象,然后调用getDeclaredConstructor().newInstance()
方法(推荐使用):
public class MyClass { public static void main(String[] args) { try { MyClass instance = MyClass.class.getDeclaredConstructor().newInstance(); } catch (InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) { e.printStackTrace(); } } }
注意:在使用getDeclaredConstructor().newInstance()
方法时,需要确保类中有一个无参构造函数。如果有多个构造函数,可以使用MyClass.class.getDeclaredConstructor(参数类型1, 参数类型2, ...).newInstance(参数值1, 参数值2, ...)
来调用指定参数的构造函数。