不同的包的两个类名相同,同时倒入一个类报错
导入一个类,另一个用全类名访问。
例如:同时用到java.util.Date和java.sql.Date只需要导入import java.util.Date;当定义java.util.Date变量时直接使用Date date= new Date();
定义java.sql.Date时写成java.sql.Date date1 = new java.sql.Date();
静态导入
不使用静态导入的例子:
class MathUtil{
public static double calCirArea(double r){
return Math.PI*r*r;
}
public static double calBallArea(double r){
return Math.PI*r*r*4;
}
}
public static double calCirArea(double r){
return Math.PI*r*r;
}
public static double calBallArea(double r){
return Math.PI*r*r*4;
}
}
使用静态导入后
import static java.lang.Math.PI;
class MathUtil{
public static double calCirArea(double r){
return PI*r*r;
}
public static double calBallArea(double r){
return PI*r*r*4;
}
}
public static double calCirArea(double r){
return PI*r*r;
}
public static double calBallArea(double r){
return PI*r*r*4;
}
}
把Math类中的PI敞亮引入后,是程序更加简单,更容易阅读,只要看到PI就知道是圆周率,不用每次把类名写全,但是滥用静态导入会是程序更加难以阅读,难以维护。最好遵循如下规则:
不使用*通配符,除非时倒入静态常用量。
方法名是具有明确、清晰表象意义的工具类。