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

时间:2015-02-12 11:38:10

标签: import static

普通导入语句和静态导入语句之间有什么真正的(i.s. practical)区别?

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");  

 }   
}  

1 个答案:

答案 0 :(得分:1)

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

  

那么什么时候应该使用静态导入? 非常谨慎!只在使用时才使用它   否则你会想要声明常量的本地副本,或者   滥用继承(Constant Interface Antipattern)。其他   单词,当您需要频繁访问静态成员时使用它   一两节课。如果过度使用静态导入功能,则可以   使你的程序不可读和不可维护,污染它   包含您导入的所有静态成员的命名空间。您的代码的读者   (包括你,在你写完几个月后)将不知道哪个   class一个静态成员来自。导入所有静态成员   从一个班级可以特别有害于可读性;如果你需要   只有一两个成员,单独导入它们。适当使用,   通过删除,静态导入可以使您的程序更具可读性   重复类名的样板。