在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, ...)
来调用指定参数的构造函数。