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

怎么做的网站怎么放上网推广seo公司

怎么做的网站怎么放上网,推广seo公司,wordpress打开很慢,管理信息系统开发什么是反射? 反射就是允许对成员变量、成员方法和构造方法的信息进行编程访问。换句话来讲,就是通过反射,我们可以在不需要创建其对象的情况下就可以获取其定义的各种属性值以及方法。常见的应用就是IDEA中的提示功能,当我…

什么是反射?        

        反射就是允许对成员变量、成员方法和构造方法的信息进行编程访问。换句话来讲,就是通过反射,我们可以在不需要创建其对象的情况下就可以获取其定义的各种属性值以及方法。常见的应用就是IDEA中的提示功能,当我们使用某个对象,使用“.”的时候,IDEA会自动进行提示,会弹出一个显示关于该对象所有能调用的方法。

 想要使用反射,首先要先创建某个对象的字节码对象,常见的创建方式有以下几种,(第一种的地址可以在IDEA中使用右键复制其引用):

代码编写

这里我们采用第一种进行创建:

package com.wxy.instance;import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;public class ClassTest {public static void main(String[] args) throws ClassNotFoundException, InvocationTargetException, InstantiationException, IllegalAccessException {//获得字节码对象Class<?> clazz = Class.forName("com.wxy.instance.Student");//调用获取构造列表,并选择其中的第3个Constructor<?>[] declaredConstructors = clazz.getDeclaredConstructors();System.out.println(Arrays.toString(declaredConstructors));Constructor<?> declaredConstructor = declaredConstructors[2];//由于我的对象中第3个构造方法是private修饰,不允许外部调用,所以我们需要使用调用下面的方法,临时取消权限的校验declaredConstructor.setAccessible(true);//通过获得的构造方法使用newInstance()可以创建对象Student xiaoming = (Student) declaredConstructor.newInstance("xiaoming");System.out.println(xiaoming);}
}

以下是示例对象:

package com.wxy.instance;public class Student {private Integer id;private String name;private Integer age;public Student() {}private Student(String name) {this.name = name;}private Student(Integer id, String name, Integer age) {this.id = id;this.name = name;this.age = age;}/*** 获取* @return id*/public Integer getId() {return id;}/*** 设置* @param id*/public void setId(Integer id) {this.id = id;}/*** 获取* @return name*/public String getName() {return name;}/*** 设置* @param name*/public void setName(String name) {this.name = name;}/*** 获取* @return age*/public Integer getAge() {return age;}/*** 设置* @param age*/public void setAge(Integer age) {this.age = age;}public String toString() {return "Student{id = " + id + ", name = " + name + ", age = " + age + "}";}/*** 测试反射获取成员方法* @param arg*/private String testMethodGet(String arg){System.out.println(this.name + "调用调用成功,传递的参数是"  + arg);return "调用成功";}
}

除了获取构造方法,我们还可以使用反射获取其成员变量,包括其记录值、修饰符、数据类型等。

        //在刚刚我们使用反射创建了一个对象Student xiaoming = (Student) declaredConstructor.newInstance("xiaoming");System.out.println(xiaoming);//我们使用字节码对象调用其方法获得我们的成员变量nameField name = clazz.getDeclaredField("name");//由于其变量是private修饰,所以我们需要禁用其权限校验name.setAccessible(true);//通过get方法可以获取其记录值String nameByXiaoMing = (String) name.get(xiaoming);System.out.println(nameByXiaoMing);//使用set可以修改其记录值name.set(xiaoming,"xiaohong");System.out.println(name.get(xiaoming));

结果如下:

同样我们还可以获得其内部方法:

//获取方法Method testMethodGet = clazz.getDeclaredMethod("testMethodGet", String.class);//由于该方法时privatetestMethodGet.setAccessible(true);//需要传入调用的对象以及调用所需的参数,如果是空参可省略,有返回值则可以进行接收String result = (String) testMethodGet.invoke(xiaoming, "塔斯汀");System.out.println(result);

 结果如下:

总结

http://www.bjxfkj.com.cn/article/100354.html

相关文章:

  • 微信你的意义是什么小程序哪里有seo排名优化
  • 穷游网站 做行程 封面上海seo优化外包公司
  • 电子商务网站建设考试重点企业文化墙
  • 百度不收录手机网站吗广州新闻报道
  • 微信 绑定网站微信推广加人
  • 网站开发原型百度推广怎么做最好
  • 做网站签合同哪里有网站推广优化
  • 内网网站如何建设方案seo的内容有哪些
  • 网站备案个人备案公司网站郑州百度网站优化排名
  • wordpress 灯鹭seo渠道
  • 真人性做爰video网站推广发布任务平台app下载
  • 网站建设需要掌握什么知识免费友情链接
  • 营销型网站一套安卓优化大师旧版
  • 沈阳高端网站设计51网站统计
  • 拓元建设网站企业网站模板
  • 展览设计网站有哪些网络产品运营与推广
  • 苹果电脑可以做网站吗百度开户渠道
  • 网站建设公司教程郑州做网站推广电话
  • 深圳鹏洲建设工程有限公司网站关键词热度分析
  • 成都网站建设推进方案网站制作app免费软件
  • 做微信投票的网站5泰安seo排名
  • 九江网站建设网站查询域名入口
  • 有域名和虚拟服务器后怎么做网站福建优化seo
  • 贴吧做网站正规app推广
  • 阿里云做电影网站吗2024年新闻时事热点论文
  • 你认为优酷该网站哪些地方可以做的更好_为什么?临沂做网络优化的公司
  • 网站好做吗seo优化专家
  • 渭南汽车网站制作百度搜索优化建议
  • 如何将wordpress产品分类转为菜单优化设计四年级上册语文答案
  • 住房和城乡建设部网站标准下载搜索引擎优化的策略主要有