考虑下面的类
public final class Constant {
public static final String USER_NAME="user1";
//more constant here
}
包B中的这个类。
现在我将在包A中使用它。考虑以下两种可以使用的方式。
方法1-使用import B.Constant
import B.Constant;
public class ValidateUser {
public static void main(String[] args) {
if(Constant.USER_NAME.equals("user1")){
}
}
}
方法2-使用import static B.Constant.USER_NAME;
import static B.Constant.USER_NAME;
public class ValidateUser {
public static void main(String[] args) {
if(USER_NAME.equals("user1")){
}
}
}
我的问题是在这种情况下,正常导入与静态导入有什么区别或优势吗?
最佳答案
普通 import
和 import static
之间的唯一区别是后者用于移动某些其他类或接口(interface)的 static
成员— 尤其是 常量 — 进入范围。是否使用它取决于您;我喜欢它,因为它使类的主体更短,但 YMMV。
在它们编译成相同的字节码时,使用它们(除非可能在编译时,就好像你关心那样)没有性能优势或损失。
关于java - 使用静态导入比导入有什么优势吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18825640/