• 注解与反射 反射方法


    package 反射与注解;
    
    import 反射与注解.POJO.User;
    
    import java.lang.reflect.Constructor;
    import java.lang.reflect.Field;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    
    public class 根据反射获取对象 {
        public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException, NoSuchFieldException {
    
            System.out.println("========================根据newInstance 反射回一个对象========================");
            Class<?> c1 = Class.forName("反射与注解.POJO.User");
            User user = (User) c1.newInstance(); // 本质上是调用了无参构造器
            System.out.println(user);
    
            user.setName("张三");
            System.out.println(user.getName());
    
            System.out.println("========================通过构造器来反射对象 反射回一个对象========================");
            // 通过构造器来反射对象
            Constructor<?> declaredConstructor = c1.getDeclaredConstructor(int.class, String.class, String.class);
            User user2 = (User) declaredConstructor.newInstance(10, "10", "Chris");
            System.out.println(user2);
    
    
            System.out.println("========================反射方法========================");
            User user3 = (User) c1.newInstance(); // 本质上是调用了无参构造器
            //反射方法
            Method setName = c1.getDeclaredMethod("setName", String.class);
            //invoke 是激活的意思
            setName.invoke(user3, "李逵");
            System.out.println(user3.getName());
    
            System.out.println("========================反射操作属性========================");
            // 根据反射来操作属性
            Field name = c1.getDeclaredField("name");
            name.setAccessible(true);  //setAccessible 关闭安全监测 默认是false ,当为true时关闭安全检测
            name.set(user3,"黎明");
            System.out.println(name.get(user3));
    
        }
    }
    

      运行结果

  • 相关阅读:
    转移到新的个人独立博客。
    hdu5618 (三维偏序,cdq分治)
    平衡树维护动态凸包
    poj1986 LCA
    hdu2586 LCA
    LCA最近公共祖先 ST+RMQ在线算法
    hdu 3401 单调队列优化DP
    【转】单调队列优化DP
    CodeForces 548D 单调栈
    hdu3530 单调队列
  • 原文地址:https://www.cnblogs.com/wooroc/p/15874784.html
Copyright © 2020-2023  润新知