“导入”之后的“静态”修饰语是什么意思?

“导入”之后的“静态”修饰语是什么意思?

像这样使用时:

import static com.showboy.Myclass;public class Anotherclass{}

有什么区别import static com.showboy.Myclassimport com.showboy.Myclass?


墨色风雨
浏览 525回答 3
3回答

繁星淼淼

静态导入声明类似于正常的导入声明。如果正常导入声明从包导入类,允许在没有包限定的情况下使用这些类,则静态导入声明从类中导入静态成员,允许在没有类限定的情况下使用它们。那么什么时候应该使用静态导入呢?非常谨慎!只有当您不想声明常量的本地副本或滥用继承(常量接口反模式)时才使用它。换句话说,当您需要经常访问一个或两个类的静态成员时,请使用它。如果您过度使用静态导入功能,它可能会使您的程序不可读和不可维护,从而使用您导入的所有静态成员污染它的命名空间。您的代码的读者(包括您,在您编写代码几个月后)将不知道静态成员来自哪个类。从类中导入所有静态成员对可读性特别有害;如果只需要一个或两个成员,则单独导入它们。如果使用得当,静态导入可以通过删除类名重复的样板来提高程序的可读性。

慕莱坞森

您所述的这两种进口产品之间没有差别。但是,您可以使用静态导入来允许对其他类的静态成员进行不限定的访问。在我以前不得不这样做的地方:import org.apache.commons.lang.StringUtils;       .       .       .if (StringUtils.isBlank(aString)) {       .       .       .我能做到:import static org.apache.commons.lang.StringUtils.isBlank;       .       .       .if (isBlank(aString)) {       .       .       .
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java