打字猴:1.700438876e+09
1700438876
1700438877 nf.setMaximumFractionDigits(parseInt(args[1]));
1700438878
1700438879 formatMessage(nf.format(s));
1700438880
1700438881 }
1700438882
1700438883 //格式化消息输出
1700438884
1700438885 public static void formatMessage(String s){
1700438886
1700438887 System.out.println(“圆面积是:”+s);
1700438888
1700438889 }
1700438890
1700438891 }
1700438892
1700438893 就这么一段程序,看着就让人火大:常量PI,这知道,是圆周率;parseDouble方法可能是Double类的一个转换方法,这看名称也能猜测到。那紧接着的getInstance方法是哪个类的?是Client本地类?不对呀,没有这个方法,哦,原来是NumberFormate类的方法,这和formateMessage本地方法没有任何区别了—这代码也太难阅读了,非机器不可阅读。
1700438894
1700438895 所以,对于静态导入,一定要遵循两个规则:
1700438896
1700438897 不使用*(星号)通配符,除非是导入静态常量类(只包含常量的类或接口)。
1700438898
1700438899 方法名是具有明确、清晰表象意义的工具类。
1700438900
1700438901 何为具有明确、清晰表象意义的工具类?我们来看看JUnit 4中使用的静态导入的例子,代码如下:
1700438902
1700438903 import static org.junit.Assert.*;
1700438904
1700438905 public class DaoTest{
1700438906
1700438907 @Test
1700438908
1700438909 public void testInsert(){
1700438910
1700438911 //断言
1700438912
1700438913 assertEquals(“foo”,“foo”);
1700438914
1700438915 assertFalse(Boolean.FALSE);
1700438916
1700438917 }
1700438918
1700438919 }
1700438920
1700438921 我们从程序中很容易判断出assertEquals方法是用来断言两个值是否相等的,assertFalse方法则是断言表达式为假,如此确实减少了代码量,而且代码的可读性也提高了,这也是静态导入用到正确地方所带来的好处。
1700438922
1700438923
1700438924
1700438925
[ 上一页 ]  [ :1.700438876e+09 ]  [ 下一页 ]