打字猴:1.70043881e+09
1700438810
1700438811 从Java 5开始引入了静态导入语法(import static),其目是为了减少字符输入量,提高代码的可阅读性,以便更好地理解程序。我们先来看一个不使用静态导入的例子,也就是一般导入:
1700438812
1700438813 public class MathUtils{
1700438814
1700438815 //计算圆面积
1700438816
1700438817 public static double calCircleArea(double r){
1700438818
1700438819 return Math.PI*r*r;
1700438820
1700438821 }
1700438822
1700438823 //计算球面积
1700438824
1700438825 public static double calBallArea(double r){
1700438826
1700438827 return 4*Math.PI*r*r;
1700438828
1700438829 }
1700438830
1700438831 }
1700438832
1700438833 这是很简单的数学工具类,我们在这两个计算面积的方法中都引入了java.lang.Math类(该类是默认导入的)中的PI(圆周率)常量,而Math这个类写在这里有点多余,特别是如果MathUtils中的方法比较多时,如果每次都要敲入Math这个类,繁琐且多余,静态导入可解决此类问题,使用静态导入后的程序如下:
1700438834
1700438835 import static java.lang.Math.PI;
1700438836
1700438837 public class MathUtils{
1700438838
1700438839 //计算圆面积
1700438840
1700438841 public static double calCircleArea(double r){
1700438842
1700438843 return PI*r*r;
1700438844
1700438845 }
1700438846
1700438847 //计算球面积
1700438848
1700438849 public static double calBallArea(double r){
1700438850
1700438851 return 4*PI*r*r;
1700438852
1700438853 }
1700438854
1700438855 }
1700438856
1700438857 静态导入的作用是把Math类中的PI常量引入到本类中,这会使程序更简单,更容易阅读,只要看到PI就知道这是圆周率,不用每次都要把类名写全了。但是,滥用静态导入会使程序更难阅读,更难维护。静态导入后,代码中就不用再写类名了,但是我们知道类是“一类事物的描述”,缺少了类名的修饰,静态属性和静态方法的表象意义可以被无限放大,这会让阅读者很难弄清楚其属性或方法代表何意,甚至是哪一个类的属性(方法)都要思考一番(当然,IDE友好提示功能是另说),特别是在一个类中有多个静态导入语句时,若还使用了*(星号)通配符,把一个类的所有静态元素都导入进来了,那简直就是恶梦。我们来看一段例子:
1700438858
1700438859 import static java.lang.Double.*;
[ 上一页 ]  [ :1.70043881e+09 ]  [ 下一页 ]