Java 静态导入是一种有助于直接使用任何类的静态成员的机制。类中的静态项可以在模块中轻松引用,无需其他限定。不需要任何类名或对象,可以直接使用这些静态对象。这是增加代码可读性和提高代码质量的好方法。除非必要,否则不建议使用静态导入。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
静态导入帮助我们直接使用类的静态成员。它使所有类成员都可访问,这反过来又有助于使用该类的成员,而无需重复提及类名。下面的代码是静态导入的示例。您不需要使用 System 类的模块 System.out。相反,您可以直接在代码中引用 out.println ,并且该程序将成功运行,因为我们已经静态导入了 System 类。
import static java.lang.System.*; public class StaticImportInstance{ public static void main(String args[]){ out.println("Hi");//Now no need of System.out out.println("We are using Static Import"); } }
让我们看一些使用静态导入功能的示例。
静态导入内置的 Java Math 类。
代码:
import static java.lang.Math.PI; import static java.lang.Math.pow; public class HelloStaticWorld { public static void main(String[] args) { System.out.println("Hello, Let us get introduced to the Static Import World!"); System.out.println("Let us consider a circle with a diameter of 5 cm, it has"); System.out.println("a circumference of " + (Math.PI * 5) + " cm"); System.out.println("and the area of circle will be" + (Math.PI * Math.pow(2.5, 2)) + " sq. cm"); } }
输出:
上面的程序正在导入 Math 类。更进一步,它还静态导入 PI 和 POW 方法。一旦静态使用这些,我们就不需要在程序中创建任何进一步的引用或对象。我们可以轻松使用导入的类。我们利用 Math.PI 来使用 PI 的值并找到圆的周长。另外,我们再次使用 PI 和 POW 方法来求圆的面积,这有助于我们求圆的面积。如果您检查屏幕截图,您会看到显示圆的周长和面积。
导入内置的 Java Integer 类
代码:
import static java.lang.Integer.MAX_VALUE; import static java.lang.Integer.MIN_VALUE; public class StaticImportInteger { public static void main(String args[]) { //Finding Max and Min without static import System.out.println("We will find maximum value of an integer variable in Java without using" + "static import : " + Integer.MAX_VALUE); System.out.println("We will find minimum value of an integer variable in Java without using" + "static import : " + Integer.MIN_VALUE); //Finding Max and Min without static import System.out.println("We will find maximum value of an integer variable in Java with using" + "static import : " + MAX_VALUE); System.out.println("We will find minimum value of an integer variable in Java with using" + "static import : " + MIN_VALUE); } }
输出:
上面的示例是静态导入 Integer 类。这意味着我们可以直接使用该类中的方法并在程序中使用它们,而无需进一步引用。我们首先找到整数的最大数和整数的最小数,其中我们不使用静态导入并使用普通函数。这里我们将使用类名,然后使用函数名。如果您看到示例,我们使用了 Integer.Min_Value 和 Integer.Max_Value。在下面的代码中,我们使用静态导入。在这里,如果你检查一下,你会发现我们直接使用了 MAX_VALUE 和 MIN_VALUE 方法。两者的结果将是相同的。这告诉我们有两种方法可以使用不同的 Java 函数。
使用静态导入时存在歧义
代码:
import static java.lang.Integer.*; import static java.lang.Long.*; public class HelloAmbiguity{ public static void main(String[] args) { System.out.println(MAX_VALUE); } }
输出:
导入同一个类的静态成员时可能会出现上述情况。发生这种情况时,编译器会困惑于选择哪个成员。因此,当涉及到同一类的成员时,它会面临歧义。上面的示例中 lang 类被导入两次。它使用的不同成员是 Integer 和 Long。当调用 main 函数时,编译器会混淆在 Integer 和 Long 之间选择哪个成员。如果没有特定的类名,它将无法计算出应该使用哪个成员。因此它会抛出一个错误,如上面的屏幕截图所示。
使用静态方法有很多优点。仅举几例,您可以看到以下内容:
静态导入方法是一种使用任何类的成员而无需为该类创建任何引用的简单方法。当我们导入类的时候,就可以直接使用这些方法。静态导入使用户能够获得需要更少击键次数并且效率更高的代码。我们可以使用静态导入,但建议仅在有要求时才使用它。
以上是Java静态导入的详细内容。更多信息请关注PHP中文网其他相关文章!