/**
* @version 1.0
* @Author little
* @date 2022/7/15 10:17
* @Description 反射demo
**/
public class ReflectDemo {
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
// todo 通过包名获取类,通过类来实例化对象
Class<?> userClass = Class.forName("com.attendance.attendance.entity.User");
// class com.attendance.attendance.entity.User
System.out.println(userClass);
// todo newInstance() 这个方法会调用User这个类的无参数构造方法,完成对象的创建。
// 重点是:newInstance()调用的是无参构造,必须保证无参构造是存在的!
// User(id=null, userId=null, name=null, password=null, email=null, role=null, createTime=null, updateTime=null)
Object user = userClass.newInstance();
System.out.println(user);
// todo 获取对象所有属性
Field[] declaredFields = userClass.getDeclaredFields();
// todo 对象字段名称
List<String> collect = Arrays.stream(declaredFields).map(Field::getName).collect(Collectors.toList());
System.out.println(collect);
}
}
JAVA反射基础
最新推荐文章于 2024-06-12 11:59:04 发布