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

天津网站优化推广方案在线设计培训

天津网站优化推广方案,在线设计培训,wordpress模板是什么,网站备案名称的影响一:反射的引出 1:问题 比如我们给出一个student类 其方法show(),我们将其写入配置文件中#xff1b;现在我们来一个新的需求说是要改变重写一个show()方法 show()2,那么如何在不修改源码的情况下进行修改#xff0c;这时我们通过反射就可以完成 2:过程 student类#xf…一:反射的引出 1:问题 比如我们给出一个student类 其方法show(),我们将其写入配置文件中现在我们来一个新的需求说是要改变重写一个show()方法 show()2,那么如何在不修改源码的情况下进行修改这时我们通过反射就可以完成 2:过程 student类 public class Student {public void show(){System.out.println(is show());} }配置文件以txt文件为例子pro.txt className cn.fanshe.Student methodName show测试类 import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.lang.reflect.Method; import java.util.Properties;/** 我们利用反射和配置文件可以使应用程序更新时对源码无需进行任何修改* 我们只需要将新类发送给客户端并修改配置文件即可*/ public class Demo {public static void main(String[] args) throws Exception {//通过反射获取Class对象Class stuClass Class.forName(getValue(className));//cn.fanshe.Student//2获取show()方法Method m stuClass.getMethod(getValue(methodName));//show//3.调用show()方法m.invoke(stuClass.newInstance());//stuClass.newInstance() 获取当前类的对象 //以前:对象.方法();现在:方法名.(对象)}//此方法接收一个key在配置文件中获取相应的valuepublic static String getValue(String key) throws IOException{Properties pro new Properties();//获取配置文件的对象FileReader in new FileReader(pro.txt);//获取输入流pro.load(in);//将流加载到配置文件对象中in.close();return pro.getProperty(key);//返回根据key获取的value值} }控制台输出 is show() 需求 当我们升级这个系统时不要Student类而需要新写一个Student2的类时这时只需要更改pro.txt的文件内容就可以了。代码就一点不用改动 要替换的student2类 public class Student2 {public void show2(){System.out.println(is show2());} }配置文件更改为 className cn.fanshe.Student2 methodName show2控制台输出 is show2(); 3:总结 可以看到我们只是改了配置文件而并没有去改变源码 二:反射是什么 JAVA反射机制是在运行状态中 对于任意一个类都能够知道这个类的所有属性和方法 对于任意一个对象都能够调用它的任意一个方法和属性 这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制 三:反射的功能 在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时判断任意一个类所具有的成员变量和方法在运行时调用任意一个对象的方法 要想解剖一个类,必须先要获取到该类的字节码文件(.class)对象class。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象. 五:关于class对象和class类 1:class对象 Class对象的由来是将class文件读入内存并为之创建一个Class对象 2:class类 代表一个类是Java反射机制的起源和入口用于获取与类相关的各种信息 提供了获取类信息的相关方法Class类继承自Object类Class类是所有类的共同的图纸每个类有自己的对象同时每个类也看做是一个对象有共同的图纸Class,存放类的结构信息能够通过相应方法取出相应 的信息类的名字、属性、方法、构造方法、父类和接口。Class 类的实例表示正在运行的 Java 应用程序中的类和接口。也就是jvm中有N多的实例每个类都有该Class对象。包括基本数据类型Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的defineClass 方法自动构造的。也就是这不需要我们自己去处理创建JVM已经帮我们创建好了。没有公共的构造方法方法共有64个太多了。 3:获取class对象方法 通过Class.forName(“全类名”) (最常用的方法) try {Class? perClazz Class.forName(reflect_fanshe.Person);System.out.println(perClazz);} catch (ClassNotFoundException e) {e.printStackTrace();}4:根据反射入口对象class获取类的各种信息 (1):perClazz.getMethods() 获取此类的所有public方法父类的实现接口的自己的 Class? perClazz null;try {perClazz Class.forName(reflect_fanshe.Person);} catch (ClassNotFoundException e) {e.printStackTrace();}Method[] methods perClazz.getMethods();//遍历所有方法for (Method method : methods) {System.out.println(method);}}(2):获取当前类只有本类的的所有方法和属性包括私有的 (3):可以获取当前类的对象并通过对象调用类的方法 (4):通过反射获取对象的实例并操作对象 class.newInstance() ,并强转类型然后就可以操作对象了主要是调用方法。 六:反射的使用场景 java编码时知道类和对象的具体信息此时直接对类和对象进行操作即可无需反射如果编码时不知道类或者对象的具体信息此时应该使用反射来实现比如类的名称放在XML文件中属性和属性值放在XML文件中需要在运行时读取XML文件动态获取类的信息在编译时根本无法知道该对象或类可能属于哪些类程序只依靠运行时信息来发现该对象和类的真实信息 参考自
http://www.huolong8.cn/news/437379/

相关文章:

  • 长沙企业网站开发网络推广公司推荐
  • 网站下面 备案库尔勒北京网站建设
  • 门窗网站制作宣传语贵州省城乡住房和建设厅网站首页
  • 线上营销推广方式有哪些seo的中文是什么
  • 深圳网站设计合理刻怎样给公司申请一个网站
  • 用thinkphp做的网站族蚂建站
  • 网站建设全过程网站设计的发展趋势
  • 网站怎么更换域名内蒙古住房和城乡建设厅官方网站
  • app手机网站梦创义网站建设公司
  • 数据库做后台网站国内最好的crm
  • 网站开发最新流程工信部网站备案修改
  • 前端需要学wordpressgoogle seo实战教程
  • 深圳网站建设开发公司哪家好域名是什么意思呢
  • 网站架构价格太原做企业网站的
  • 有哪些网站可以做兼职网页制作模板之家
  • 哪个协会要做网站建设啊网站一般要设计几页
  • 网站结构优化的优化包括广告网站模板下载 迅雷下载不了
  • 如何进行网站设计规划合肥百度seo排名
  • 网站建设维护需要懂哪些知识购买域名做销售网站可以吗
  • 古楼角网站建设wordpress 登录验证码
  • 广东网站设计公司价格哪些网站可以赚钱
  • 校园社交网站开发创意设计包装
  • 江西建设厅特殊工种的网站外贸网站建设公司
  • 网站每年空间域名费用及维护费北京seo优化推广
  • 广州手机网站制作咨询wordpress spa
  • 搜索引擎网站盈利模式昆明关键词优化
  • 3d效果图教程网站河南seo快速排名
  • 基于目的地的o2o旅游电子商务网站开发设计毕业设计网站建设需求调研方法
  • 邢台做网站企业徐州低成本建站
  • 东莞企业网站建立报价企业管理培训课程价格表