Java 子包和静态导入

原文:https://www.studytonight.com/java/subpackage-and-static-import.php

在本教程中,我们将学习 Java 中的子包,以及静态导入的概念及其与普通import关键字的不同之处。

Java 中的子包

包内的包称为子包。应该创建它来进一步对包进行分类。

举个例子,Sun 微系统公司已经定义了一个名为 java 的包,它包含了许多类,如系统、字符串、读取器、写入器、套接字等。这些类代表一个特定的组,例如读取器和写入器类用于输入/输出操作,套接字和服务器套接字类用于网络等等。因此,孙将 java 包细分为 lang、net、io 等子包。并将输入/输出相关的类放在 io 包中,将 Server 和 ServerSocket 类放在 net 包中等等。

注意:定义包的标准是域.公司.包如 LearnJava.full.io

示例:

在这个例子中,我们在 Simple.java 文件中创建了一个包和一个子包 corejava

package LearnJava.corejava;
class Simple{
  public static void main(String args[]){
   System.out.println("Hello from subpackage");
  }
}

为了编译这个类,我们可以使用与 package 相同的命令。命令如下。

javac -d . Simple.java

要运行存储在创建的子包中的类,我们可以使用下面的命令。

java LearnJava.corejava.Simple

成功编译并执行后,它会将以下输出打印到控制台。

来自子包的你好

Java 中的静态导入

静态导入是扩展导入关键字功能的一个特性。它用于导入类的静态成员。我们都知道静态成员是在类外部与其类名相关联地被引用。使用静态导入,可以直接引用静态成员,而不需要其类名。静态导入语句有两种一般形式。

我们可以导入任何类的单个或多个静态成员。要导入单个静态成员,我们可以使用如下语句。

import static java.lang.Math.sqrt;   //importing static method sqrt of Math class

第二种形式的静态 import 语句,导入一个类的所有静态成员。

import static java.lang.Math.*;   //importing all static member of Math class

不使用静态导入的示例

这是使用类的静态成员的替代方法。在这种情况下,我们不需要使用 import 语句,而是使用类的直接限定名。

public class Test
{
    public static void main(String[] args)
    {
        System.out.println(Math.sqrt(144));
    }
}

Twelve

使用静态导入的示例

在这个例子中,我们使用 import 语句来导入类的静态成员。这里,我们使用*来导入所有静态成员。

import static java.lang.Math.*;
public class Test
{
    public static void main(String[] args)
    {
        System.out.println(sqrt(144));
    }
}

Twelve