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

微网站是什么意思云南信息港

微网站是什么意思,云南信息港,站群管理,免费商用cmsJava中我们一般会使用new关键字实例化对象然后调用该对象所属类提供的方法来实现相应的功能#xff0c;比如我们现在有个主类叫Web类这个类中能实现各种方法#xff0c;比如用户注册、发送邮件等功能#xff0c;代码如下#xff1a; 1 /*2 * web功能实现类3 */4 public c…  Java中我们一般会使用new关键字实例化对象然后调用该对象所属类提供的方法来实现相应的功能比如我们现在有个主类叫Web类这个类中能实现各种方法比如用户注册、发送邮件等功能代码如下 1 /*2 * web功能实现类3 */4 public class Web {5 6 public static void main(String[] args) {7 //每次有新功能都需要重新加载8 if(UserReg.equals(args[0])) {9 UserReg ur new UserReg(); 10 ur.action(); 11 } 12 if(SendEmail.equals(args[0])) { 13 SendEmail se new SendEmail(); 14 se.action(); 15 } 16 17 18 } 19 20 }    上面的代码简单的通过命令行的参数进行功能的调用当然扩展到web的url参数原理也完全一样通过代码可以看到我们需要调用某一个功能则必须实例化该功能所在的对象并且每当添加一个新功能时必须再写一个if语句进行添加并不能动态扩展假设当我们只有UserReg类时SendEmail类正在开发中那么这两个功能都是无法使用的因为如果实例化一个不存在的类时编译器会报错代码根本无法通过编译。这些所说的就是Java的静态加载静态加载的含义就是在程序的编译阶段进行加载当出现任何类不存在或者方法不存在的错误时编译都不通过这就是Java中的静态加载   那么与静态加载相对应的动态加载的含义就是在程序运行时真正的执行代码编译过程不进行任何检查这样就避免了上面的问题实现方式就是通过类的反射我们改进上面的执行类为动态加载的代码如下 1 /*2 * web功能实现类3 * 动态加载举例4 */5 public class Web {6 7 public static void main(String[] args) {8 try {9 Class? w Class.forName(net.zengzhiying.dynamicloading. args[0]); 10 IWeb i (IWeb) w.newInstance(); 11 i.action(); 12 } catch (ClassNotFoundException e) { 13 e.printStackTrace(); 14 } catch (InstantiationException e) { 15 e.printStackTrace(); 16 } catch (IllegalAccessException e) { 17 e.printStackTrace(); 18 } 19 } 20 21 }   上面代码就是通过forName方法进行反射从而动态加载类w就是对应类的类类型同时也是Class的对象所以从某种意义上来说万事万物皆是对象类也是对象类对象和类的对象是严格区分的类对象也就是类类型那么使用类类型的newInstance方法可以创建该类类型的类的对象另外为了解决每次实例化对象类都不同的问题这里使用的父接口来统一声明我们需要任何功能只需要实现IWeb接口即可不同功能模块由不同的程序员实现也是没问题的或者使用父类或者抽象类来统一声明子类中进行方法的重写或实现也可以总之这个地方就是利用的多态的思想来实现IWeb接口代码如下 1 public interface IWeb { 2 public void action(); 3 }   那么我们现在实现其中的模块   UserReg.java 1 public class UserReg implements IWeb { 2 3 public void action() { 4 System.out.println(我实现了用户注册的功能); 5 } 6 }   SendEmail.java 1 public class SendEmail implements IWeb { 2 public void action() { 3 System.out.println(我实现了发送电子邮件的功能); 4 } 5 }   以上这些代码通过编译是没有任何问题的那么执行的时候我们使用命令行执行来传参数eclipse不能直接执行效果如下      通过执行可以看到很容易的通过参数实现了不同的功能操作对于不存在的功能那么很显然会抛出异常因为编译阶段没有经过严格的验证所以抛出异常也是必然的实际开发中我们要进行恰当的异常处理这样就用动态加载实现了功能模块的无限扩展我们后来添加UserLogin用户登录模块或者添加UserLogout用户退出模块完全不必要修改Web主类中所有的代码只是都实现IWeb接口即可这种动态加载类的思想在框架底层应用中也是经常用到的。
http://www.huolong8.cn/news/15652/

相关文章:

  • 云南政务网站建设logo素材库网站免费
  • 东莞企业网站推广多少钱怎么利用网络挣钱
  • 免费自己制作网站企业软件管理系统排名
  • 易网 网站建设wordpress国内案例
  • 横店八上信息书做网站的内容天津龙腾公司做网站
  • asp网站自动识别手机wordpress 免费商城
  • 泽州网站设计小企业网站建设公司哪家好
  • 典型营销型网站有哪些网站建设金手指快速
  • 简洁的网站建设合同好网站建设公司昆明
  • 深圳企业专业网站设计盐城 网络推广
  • 沛县专业做网站企业邮箱是什么 怎么注册
  • 做艺术的网站dede制作的网站挂马
  • 科网站建设服务类网站免费建站
  • 软件工程师证书报考网站网络运营中心
  • 网站设计建设定制网页设计表格模板源代码
  • 学校信息化网站建设小型购物网站开发
  • 老河口网站建设南部县房产网
  • 做网站用什么配置的电脑云南推广
  • 网站开发小程序定制北京网站建设公司 蓝纤科技
  • 阿里云如何建立网站wordpress版08影院
  • 域名已有服务器也有怎么做网站岐山县住房和城市建设局网站
  • 做网站seo优化总结wordpress 图片cms主题
  • 建设电子商务网站需要什么设备wordpress文章无法中文
  • 医院网站建设iis7.5网站权限配置
  • php网站架设教程wordpress多用户编辑wiki
  • 深圳网站建设 外包合作wordpress代码乱吗
  • 手机wap网站制作需要多少钱常熟建设银行 招聘网站
  • wordpress做的网站吗网站制作的订单
  • 江门网站推广策划千锋教育前端培训
  • 响应式网站生成网页生成微信小程序