当前位置: 首页 > news >正文

住房和城乡建设部注册中心网站网站邮箱配置

住房和城乡建设部注册中心网站,网站邮箱配置,赣州做网站什么价格,网站搭建软件工具文章目录定义classClass获取一个类的类对象反射的具体步骤1.加载类类API2.实例化3.获取1)获取类中方法2)获取构造方法3)获取当前类的属性4.方法调用应用1.遍历对象属性#xff0c;进行赋值定义 反射是操作其属性和方法从编码期决定转为在运行期决定 编码期决定#xff1a;创… 文章目录定义classClass获取一个类的类对象反射的具体步骤1.加载类类API2.实例化3.获取1)获取类中方法2)获取构造方法3)获取当前类的属性4.方法调用应用1.遍历对象属性进行赋值定义 反射是操作其属性和方法从编码期决定转为在运行期决定 编码期决定创建固定类的对象调用这个对象的属性和方法运行期决定灵活创建想要创建的对象参数中传入想要创建对象的字符串再调用这个对象的属性和方法这样做可以提高代码的灵活度适度使用过度使用会降低代码的运行效率增加资源开销。 class 静态属性class在Object中定义所有的类都有这个静态属性。例String.class、int.class Class 类Class类的每个实例用于表示JVM加载的一个类 获取一个类的类对象 直接调用该类的静态属性class Class clsString.class; //但是这样做是在编码期间确定获取某个类的类对象相对不灵活调用Class的静态方法forName Class clsClass.formName(java.lang.String)通过对象获取该类 Class clsnew User().getClass()通过类加载器ClassLoader InputStreamgetClass()(或类名.class).getClassLoader().getResourceAsStream(fileName) //类加载器加载文件默认会从工程的resources文件夹下查找反射的具体步骤 一般分为4步加载类、实例化、获取、调用 1.加载类 Class clsClass.forName(类的全称) //若指定的类完全限定名有误时会抛出异常:ClassNotFoundException类API String cls.getName()//类的全称 String cls.getPackage().getName()//包名 String cls.getSimpleName()//类名 String cls.getSuperclass().getSimpleName()//父类//类上所有注解 Annotation[] cls.getAnnotations() //获取类上指定注解 RequestMapping cls.getAnnotation(RequestMapping.class);2.实例化 Object cls.newInstance() //例如Test test(Test)Class.forName(com.sgp.Test).newInstance() //本质是调用其表示的类的无参构造方法进行实例化并将实例化的对象返回也是创建对象的方式之一3.获取 1)获取类中方法 Method[] cls.getMethods()//所有公有方法 Method cls.getMethod(String name, Class?... parameterTypes)//指定公有方法Method[] cls.getDeclaredMethods()//所有方法 Method methodcls.getDeclaredMethod(方法名, null)//指定方法 //例如cls.getDeclaredMethod(sayHi, String.class,int.class) //第二个参数是可变长参数是指这个方法的几个参数对应的参数类型的class静态属性无参为null或者不写method.getName()//方法名 Params params method.getAnnotation(Params.class)//方法上的注解 Class[] method.getParameterTypes()//方法中参数 //参数个数数组的length2)获取构造方法 Constructor cocls.getConstructor(int.class)//指定构造 Constructor[] concls.getConstructors()//所有构造3)获取当前类的属性 Field[] fieldscls.getFields()//全部公有属性 Field fieldcls.getField(a)//指定公有属性Field[] fields cls.getDeclaredFields()//全部属性 Field field cls.getDeclaredField(code)//指定属性String field.getName()//属性名 String field.getType().getName()//属性类型 Column column field.getAnnotation(Column.class)//属性上的指定注解4.方法调用 获取到属性或方法实例化对象才能调用 属性 int afield.getInt(Object obj) //obj调用该方法的所属对象调用 Object method.invoke(Object obj, Object... args) //obj调用该方法的所属对象 //args可变长参数调用该方法传递的实际参数无参方法的调用示例 //实例化类对象 Object objTest.class.newInstance() //调用 method.invoke(obj)有参方法的调用示例 //实例化类对象 Object objTest.class.newInstance() //遍历每个方法时获得方法的参数类型 Class[] typesmethod.getParameterTypes()//如果types.length0说明该方法不带参 //创建一个数组用来存放参数值 Object[] paramsnew Object[types.length] //判断参数类型并往数组中存放值 for(int i0;itypes.length;i){if(types[i]String.class){params[i]hello}if(types[i]int.class) {params[i]100} } //执行该方法将装参数的数组作为参数传进去Object method.invoke(obj,params)应用 1.遍历对象属性进行赋值 Class clsobj.getClass(); Field[] fields cls.getDeclaredFields(); for(Field field:fields){String fieldNamefield.getName();//排除附加字段if(fieldName.contains(serialVersionUID) || fieldName.contains(create) || fieldName.contains(update)){continue;}//set、get时属性首字母大写fieldName(fieldName.substring(0,1).toUpperCase())fieldName.substring(1);//调用get方法Method getMethod cls.getMethod(getfieldName);//获取属性的类型String type field.getGenericType().toString();//如果type是类类型则前面包含class 后面跟类名if(type.equals(class java.lang.String)){String value (String) getMethod.invoke(obj);if(valuenull){continue;}if(value.equalsIgnoreCase(N/A)){//执行set方法Method setMethod cls.getMethod(setfieldName,new Class[] {String.class});setMethod.invoke(obj,new Object[] {null});}} }
http://www.hkea.cn/news/14304966/

相关文章:

  • 行业门户网站是什么wordpress 打开速度
  • 湖北网站建设服务动易网站系统怎么样
  • 平面设计师用的网站镇江建设网站的公司
  • 建立网站顺序去国外做外卖网站好
  • 微信网站建设方案ppt东莞美食网站建设报价
  • 注册国外网站用什么邮箱网站设计报价
  • 做网站的启蒙思想网站的服务器在哪里
  • 在门户网站中营销者通过制作什么做网站虚拟主机多少钱
  • 铜仁网站建设专业推广企业网站公司
  • 做网站得多少钱网站推广积分
  • 优秀企业网站欣赏关于申请开通网站建设的请示
  • 得力企业网站建设个人网站备案可以做博客吗
  • 网站到处仿seo的中文意思是什么
  • 重庆渝中区企业网站建设哪家好农村建设房子建设网站建设
  • 3D特效做首页的网站ainihejian wordpress
  • 四川网站seo软件平台有哪些
  • 网站推广的10种方法如何修改wordpress主题模板
  • 怎么用网站推广企业网站建设一条龙全包
  • 没有网站做推广深圳极速网站建设服务
  • 论坛网站建设需要多少钱做360手机网站首页
  • html模板 网站heliohost wordpress
  • php网站分类目录源码湖南中维电力建设有限公司网站
  • 做域名后就得做网站吗wordpress 访客记录
  • 深圳集团网站开发公司石家庄建行网站
  • 西宁 专业网站建设网站集约化平台建设分析
  • 专业企业网站开发建设项目验收 网站
  • 虹口上海网站建设网站建设运行问题及建议
  • 网站域名重定向怎么做wordpress域名自动重复
  • 哈尔滨搜索引擎建站网站设计论文前言
  • 网站一年的维护费用开发微信公众号公司