zoukankan      html  css  js  c++  java
  • java 反射

    反射的作用:

      1. 反编译:.class-->.java

      2. 在运行状态中,通过反射机制访问java对象的属性,方法,构造方法等;

    反射的实现

    //第一种方式:  
    Class c1 = Class.forName("Employee");  
    //第二种方式:  
    //java中每个类型都有class 属性.  
    Class c2 = Employee.class;  
       
    //第三种方式:  
    //java语言中任何一个java对象都有getClass 方法  
    Employeee = new Employee();  
    Class c3 = e.getClass(); //c3是运行时类 (e的运行时类是Employee)  

    带构造参数的类反射

    // 获得指定字符串类对象
            Class cl = Class.forName("com.test.User");
            //设置Class对象数组,用于指定构造方法类型  
            Class[] parameterTypes = new Class[] { String.class, int.class };
            
             //获得Constructor构造器对象。并指定构造方法类型  
            Constructor constructor = cl.getConstructor(parameterTypes);
              //给传入参数赋初值  
            Object[] parameter = { "lili", new Integer(15) };
              
            //得到实例 
            Object newInstance = constructor.newInstance(parameter);

     执行方法

            Class<?> class1 = Class.forName("com.test.User");
            
            Method method = class1.getMethod("getName");
            User newInstance = (User) class1.newInstance();
            newInstance.setName("crazy");
            // 执行方法,并返回方法的返回值
            Object result = method.invoke(newInstance);
            System.out.println("crazy:"+result);
  • 相关阅读:
    第一课:人人站安装与使用教程
    linux 多个python版本的切换
    参考文章
    windows下scrapy 的安装
    vi 使用入门
    linux 源码安装
    C语言—第二次作业
    C语言第0次作业
    c语言博客园作业03函数
    tomcat对于web.xml的securityconstraint使用的处理机制
  • 原文地址:https://www.cnblogs.com/newlangwen/p/7197157.html
Copyright © 2011-2022 走看看