在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, ...)
來調用指定參數的構造函數。