课时102:静态导入
摘要:
1.静态导入概念
2.静态导入
01. 静态导入的概念
假如现在有一个类,这个类中全部方法都是 Static 方法,按照传统的做法,要先导入程序所在的“包.类”,然后才可以通过类名称调用这些静态方法。
范例:定义一个 MyMath 数学类
新建 MyMath.java
文件
代码如下:
package cn.mldn.util; public class MyMath { public static int add(int ... args){ //更高级的写法 int sum=0; for(int temp:args){ sum+=temp; } return sum; } public static int sub(int x,int y){ return x-y; } }
注:所有方法都是 Static 方法。这种方式避免了实例化对象的开销,直接通过类名访问静态方法,适用于工具类或功能集中的场景。
范例:传统使用
新建 TestMath.java
文件
package cn.mldn.test; import cn.mldn.util.MyMath; //导入其他包的类 public class TestMath { public static void main(String[] args) { System.out.println(MyMath.add(10,20,30)); //将原始的处理形式导入包 System.out.println(MyMath.sub(30,20)); } }
进行编译,结果如下:
02. 静态导入
注:从 JDK1.5 开始对于类中的全部静态方法提供的特殊类是采用静态导入处理形式的。
范例:静态导入处理
代码如下
package cn.mldn.test; import static cn.mldn.util.MyMath.*; //加上static public class TestMath { public static void main(String[] args) { System.out.println(add(10,20,30)); //无需类名称 System.out.println(sub(30,20)); } }
注:使用静态导入后,可以直接在主类中调用静态方法,而无需使用类名作为前缀。 这就好比这些静态方法是直接定义在主类中的一样,可以简化代码,编译后发现结果相同。