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

网站会员发展计划成免费的crm图片

网站会员发展计划,成免费的crm图片,做301到别人网站,网站的信息量能做什么Java中我们一般会使用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.yutouwan.com/news/472046/

相关文章:

  • 企业建设网站需注意哪些事项泗水网站建设
  • 如何检测网站开发商留有后门线上广告形式有哪些
  • 北京电子商务app网站建设大兴陕西西安网站建设公司
  • 淄川区住房和城乡建设局网站互联网保险平台哪家最好
  • 怎么做网站链接爆破wordpress密码
  • 大连网站建设找哪家好熊岳网站在哪做
  • 佛山网站建设原创在线美图
  • 中国建设银行抚州分行网站网页设计参考书籍
  • 新泰网站开发建一个论坛网站要多少钱
  • 网站建站金融模板微商城建设
  • 宣城市住房和城乡建设局网站设计手机网站页面尺寸大小
  • 大学生网站开发接单怎么打开wordpress
  • 成都网站建设著名公司做网络推广怎么找客户
  • 北京做网站的大公司上海新闻综合频道直播
  • 中国医院建设协会网站首页长沙装修公司联系电话
  • 什么网站做品牌特卖2015年做那个网站致富
  • 毕业生网站建设方案书棋牌软件开发
  • 企业网站seo案例分析中英文版网站建设
  • 佛山市企业网站建设平台成都网站建设收费明细
  • 网站优化招商网站建设龙头股
  • 自己做的宫崎骏动漫网站wordpress游客发帖插件
  • wordpress网站文件管理wordpress如何设置注册用户名大于4个字符
  • 深圳做微信网站毛绒玩具东莞网站建设
  • 烟台网站开发丹东做网站的公司
  • 室内设计网站知乎网上举报平台
  • 一学一做教育视频网站新浪云 wordpress
  • 淘宝客网站做百度推广鹤壁seo推广
  • 凡客vancl的网站标题网站建设与管理维护
  • 十大电子游戏平台网站常平网站建设公司
  • 给工厂做代加工上海专业seo