一、静态导入
通常如果我们要使用静态的成员(方法和变量)必须给出提供这个静态成员的类。但是如果我们使用静态导入,使用这些静态成员的时候无需再给出他们的类名。
静态导入时JDK5.0引入的新特效,下面通过实例来说明静态导入的用法:
1.先定义一个公共类:
package study.javaenhance.util; public class Common { public static final int AGE = 10; public static void output() { System.out.println("Hello World!"); } }
2.在另一个包中使用时,如果不用静态导入,是这样用的:
package study.javaenhance; import study.javaenhance.util.Common; public class StaticImport { public static void main(String[] args) { int a = Common.AGE; System.out.println(a); Common.output(); } }
前面加入了导入语句,将Common类导入,使用其中的静态成员变量和静态方法时需要加上类名。
下面我们采用静态导入方式:
(1)语法:
import static 包名.类名.静态成员变量;
import static 包名.类名.静态成员函数;
注意导入的是成员变量和方法名。
(2)改写上面的例子
package study.javaenhance; import static study.javaenhance.util.Common.AGE; import static study.javaenhance.util.Common.output; public class StaticImport { public static void main(String[] args) { int a = AGE; System.out.println(a); output(); } }
或者:
package study.javaenhance; import static study.javaenhance.util.Common.*; public class StaticImport { public static void main(String[] args) { int a = AGE; System.out.println(a); output(); } }
注意点:
1.过度地使用静态导入会在一定程度上降低代码的可读性。
2.如果静态导入的多个类中存在重复的方法名称或者成员变量名称的时候,需要加上类名用于区分.
二、可变参数与重载覆写
在JDK5.0 之前,我们知道方法在接受参数的时候,其参数个数是固定的,但会存在某种场景,就该方法接受的某种类型的参数个数是不固定的,可能有1个参数,有2个参数,或者多个参数,但其内在功能是一样的,那么这个时候我们通常采用的重载的方式来来实现,代码举例如下:
package study.javaenhance; public class VarableParameter { public static void main(String[] args) { System.out.println(add(1,2)); System.out.println(add(1,2,5)); } public static int add(int x,int y) { return x+y; } public static int add(int x,int y,int z) { return x + y +z; } }