JAVA9之后廢棄newInstance()方法
根據JAVA11的API 我們可以看見反射中的newInstance()方法不推薦使用了,用
clazz.getDeclaredConstructor().newInstance()
代替
例如
package reflect;
import java.lang.reflect.InvocationTargetException;
/**
* 獲取class對象的幾種方法
* 對象.get.class
* 類 class
* Class.forName(全限定類名)
*
*/
public class Demo {
public static void main(String[] args) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException {
String string="abc";
Class<?> class1=string.getClass();
class1=String.class;
try {
class1=Class.forName("java.lang.String");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println((String)class1.getDeclaredConstructor().newInstance());
}
}
