Java9之后显示已过时newInstance()方法

反射案例
需求说明

  1. 定义一个类,在类中定义一个成员方法 show ,方法功能是:打印一个字符串。
  2. 使用反射机制创建该类的对象,并调用该对象的 show 方法

Java9之后推荐使用

clazz.getDeclaredConstructor().newInstance()

案例显示

package day25;

public class Ca {
    public  void show(){
        System.out.println("吃饭了");
    }
}

package day25;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Test04 {
    public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
        Class c=Class.forName("day25.Ca");
        Method method=c.getMethod("show");
//        method.invoke(c.newInstance());  Java9之后显示已过时
        method.invoke(c.getDeclaredConstructor().newInstance());

    }

}

输出结果:吃饭了

你可能感兴趣的:(java基础,反射,newInstance)