Java 导入和静态导入之间的区别?

Java 导入和静态导入之间的区别?,java,import,static,Java,Import,Static,正常导入语句和静态导入语句之间的实际(即实际)区别是什么 import static java.lang.System.*; class StaticImportExample{ public static void main(String args[]){ out.println("Hello"); out.println("Java"); } } import java.lang.System.*; class StaticImp

正常导入语句和静态导入语句之间的实际(即实际)区别是什么

import static java.lang.System.*;    
class StaticImportExample{  
  public static void main(String args[]){  

   out.println("Hello");
   out.println("Java");  

 }   
}  

import java.lang.System.*;    
class StaticImportExample{  
  public static void main(String args[]){  

   System.out.println("Hello"); 
   System.out.println("Java");  

 }   
}  

从Java5开始,引入了静态导入。实际上,“importstatic”用于减少击键次数,这意味着您不需要为要使用的静态成员编写类名


如您的示例所示,使用导入静态java.lang.System.*只需编写
out.println(“Hello”)而通常您必须编写
System.out.println(“Hello”)即每次需要调用静态成员(out)时,我们都必须编写类名(System)

除了@venkatesh的答案之外,还值得指出关于何时应该使用静态导入的javadoc文档。

那么什么时候应该使用静态导入呢非常节省仅在以下情况下使用 否则,您可能会试图声明常量的本地副本,或者 滥用继承(常量接口反模式)。换句话说 换句话说,当您需要频繁访问来自的静态成员时,请使用它 一两节课。如果过度使用静态导入功能,它可能会 使您的程序无法读取和维护,从而污染其性能 包含您导入的所有静态成员的命名空间。代码的读者 (包括你,在你写了几个月后)不会知道 类a静态成员来自。导入所有静态成员 从一个类中删除对可读性特别有害;如果你需要 仅一个或两个成员,分别导入它们。使用得当,, 静态导入可以通过删除 重复类名的样板


[请参考以下URL,您将得到答案][1][1]:可能重复的