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 ]
[
下一页 ]