小博老师解析Java核心技术 ——动态解析Jar的运用

[步骤阅读四]程序更新

到目前为止,我们就完成了使用动态解析Jar的方式,实现了加法和减法运算的功能。这样做的好处在于,未来如果需要为程序更新乘法和除法功能时,只需要增加相应的乘法和除法运算类,发布成新的Jar文件,存放到客户端的calculates文件夹中即可,客户端不需要重新编译和安装。

我们首先来设计乘法运算的派生实现类,核心代码如下:

packagecom.bwf.common.calculate.version0002;

importcom.bwf.common.Calculate;

/**

* 乘法运算派生实现类

* */

publicclassMultiplicationextendsCalculate{

publicMultiplication(){

symbols="*";// 设置运算的符号

}

/**

* 实现抽象超类中的抽象方法,乘法运算的实现

*@return通过乘法运算后的结果

* */

publicdoublegetResult() {

returngetNum1() * getNum2();

}

}

同样的,我们再来设计除法运算的派生实现类,核心代码如下:

packagecom.bwf.common.calculate.version0002;

importjavax.swing.JOptionPane;

importcom.bwf.common.Calculate;

/**

* 除法运算派生实现类

* */

publicclassDivisionextendsCalculate{

publicDivision(){

symbols="/";// 设置运算的符号

}

/**

* 实现抽象超类中的抽象方法,除法运算的实现

*@return通过除法运算后的结果

* */

publicdoublegetResult() {

if( getNum2() == 0 ){

JOptionPane.showMessageDialog(null,"不能被零除!");

return0;

}else{

returngetNum1() / getNum2();

}

}

}

接下来我们把乘法和除法运算类发布出Jar文件,添加到客户端的calculates文件夹中,客户端便立即出现了新的功能。

实例化窗体对象并且运行后效果如下:

小博老师解析Java核心技术 ——动态解析Jar的运用_第1张图片

你可能感兴趣的:(小博老师解析Java核心技术 ——动态解析Jar的运用)