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

网站建设及安全管理建一个信息 类网站

网站建设及安全管理,建一个信息 类网站,汉中做网站,代做毕设自己专门网站【案例12-3】#xff1a;利用反射实现通过读取配置文件对类进行实例化 【案例介绍】 1.案例描述 现在有一个项目#xff0c;项目中创建了一个Person类#xff0c;在Person类中定义了一个sleep()方法。在工程中还定义了一个Student类继承Person类#xff0c;在Student类中…【案例12-3】利用反射实现通过读取配置文件对类进行实例化 【案例介绍】 1.案例描述 现在有一个项目项目中创建了一个Person类在Person类中定义了一个sleep()方法。在工程中还定义了一个Student类继承Person类在Student类中重写了Person类的sleep()方法。项目有一个配置文件名称为test.properties在配置文件中配置了一个className属性和一个methodName属性className属性值是类的全限定类名methodName属性值是方法名。 本案例要求通过读取配置文件对类进行实例化具体如下 1获取test.properties配置文件中的className属性值类的全限定类名利用反射对该类进行实例化。 2获取test.properties配置文件中的methodName属性值方法名利用反射获取对象方法并执行该方法。 2.运行结果 情景一 配置文件中的信息 运行结果 情景二 配置文件中的信息 运行结果 【案例目标】 学会分析“利用反射实现通过读取配置文件信息信息对类进行实例化”程序任务实现的逻辑思路。能够独立完成“利用反射实现通过读取配置文件信息对类进行实例化” 程序的源代码编写、编译及运行。掌握反射机制的应用。 【案例分析】 1通过任务描述可知需要先在工程的根目录下创建一个test.properties文件在配置文件中配置一个className属性和一个methodName属性className属性值是类的全限定类名methodName属性值是方法名。 2然后创建两个类Person类和Student类且Student类继承Person类。在Person类中编写一个sleep()方法在Student类中重写Person类的sleep()方法 3最后编写一个测试类ReflexTest在main()方法中编写程序具体步骤描述如下 1.利用反射加载配置文件 2.获取配置文件中的数据获取类的全路径名及方法名 3.根据获取的类的全路径名利用反射将该类加载进内存 4.创建该类对象 5.根据在配置文件中获取的方法名获取对象方法 6.执行方法 【案例实现】 情景一 test.properties className chapter1203.Person       //chapter1203是Person类所在的包名methodName sleep 上述配置文件中定义了classNmae和methodName属性并赋值。 Person.java package chapter1203;public class Student extends Person{    Override    public void sleep() {        super.sleep();        System.out.println(呼噜呼噜~~~);    }    public void s1() {        super.sleep();        System.out.println(hello);    }} 上述代码中创建了一个Person类并在Person类中编写了一个sleep方法。 Student.java public class Student extends Person{  Override  public void sleep() {     super.sleep();     System.out.println(呼噜呼噜~~~);  }  public void s1() {     super.sleep();     System.out.println(hello);}} 上述代码中定义了一个Student类并继承了Person类。在Student类中重写了父类Person中的sleep()方法然后编写了一个s1()方法。 ReflexTest.java import java.io.IOException;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.Properties;public class ReflexTest {    public static void  main(String[] args) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException,NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException {        /*1、加载配置文件         * 用类名.class.getResourceAsStream(xx)或者         * 类名.class.getClassLoader().getResourceAsStream(xx);         *        * */        Properties properties new Properties();                properties.load(ReflexTest.class.getResourceAsStream(                 test.properties));        //2、获取配置文件中定义的数据        String className properties.getProperty(className);        String methodName properties.getProperty(methodName);        //3、加载该类进内存        Class cls Class.forName(className);        //4、创建类对象        Object obj cls.newInstance();        //5、获取对象方法        Method method cls.getMethod(methodName);        //6、执行方法        method.invoke(obj);    }} 上述代码中第15-17行代码利用反射加载了test.properties配置文件第19-20行代码获取配置文件中className和methodName属性的信息第22行代码根据获取的类的全路径名利用反射将该类加载进内存第24行代码创建在配置文件中获取的类的对象第26行代码根据在配置文件中获取的方法名获取对象方法第28行执行该方法。 情景二 只需要修改test.properties配置文件即可。 test.properties sclassName chapter1203.StudentmethodName s1
http://www.hkea.cn/news/14257700/

相关文章:

  • 晋中市两学一做网站wordpress4.6 中文
  • 一个人做网站原型天津做网站的企业
  • 网站推广链接怎么做杭州恒彩装饰公司怎么样
  • 高端网站建设公沈阳黑酷做网站建设优化公司怎么样
  • 电子商务网站建设题目个人网页模板关于爱国
  • 龙岩房产网河南企业网站优化
  • 深圳网站建设迈大学一学一做视频网站
  • 友链网站降权手机电视直播网站大全
  • 内部网站开发软件网页制作平台哪家好
  • 神华两学一做网站seo推广学院
  • 微信网站建设定制北京网站定制流程
  • 深圳做网站开发费用wordpress如何进入仪表盘
  • 酷炫网站源码营销技巧在线观看
  • 有哪些免费推广网站重庆企业网站推广策略
  • 国际网站平台有哪些营销型门户网站建设
  • 博物馆网站页面设计说明重庆建网站的公司集中在哪里
  • 来宾网站建设网址百度刷排名
  • 无忧建站网络工程师是干嘛的
  • 优秀的网站建设推荐超炫的网站模板
  • 安徽省建设厅网站打不开宽带公司排名
  • 课程网站建设的步骤义乌网页设计公司
  • 广东深圳建设工程信息网站wordpress主题创建后门
  • 可信网站查询官网wordpress后台文章自定义字段面板
  • 嘉兴网站建设网址中国建筑官网一测
  • 华企立方网站linux 网站服务器搭建
  • vps 网站 需要绑定域名吗计算机一级考试网站怎么做
  • 装修网站制作seo云优化软件
  • 设计师常上的网站建立网站的条件
  • 天津北京网站建设公司宁波seo教程行业推广
  • 专做企业的p2p网站wordpress 顶部图片