老师,您看一下我这个报错是该怎么改呢?
package com.bjsxt.test;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import com.bjsxt.entity.User;
public class Test4 {
public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchFieldException, SecurityException {
//得到class的对象
Class c=Class.forName("con.bjsxt.entity.User");
//得到无参构造方法的对象
Constructor cons=c.getConstructor(null);
//通过无参构造方法的对象,创建User类的对象
User user=(User)cons.newInstance( );
//动态操作属性
Field field=c.getDeclaredField("userId");
field.setAccessible(true);//这个属性不需要做安全检查了,可以直接访问
field.set(user, 1001);
System.out.println("取出userId这个属性的值"+field.get(user));
//动态曹旭哦方法
Method m=c.getDeclaredMethod("setUserName", String.class);
//执行setUserName方法
m.invoke(user,"张三");
Method m2=c.getDeclaredMethod("getUserName",null);
System.out.println(m2.invoke(user));
}
}
以下是报错
Exception in thread "main" java.lang.ClassNotFoundException: con.bjsxt.entity.User
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:332)
at com.bjsxt.test.Test4.main(Test4.java:13)