クラスstatic
をインポートするときのキーワードの意味がわかりません。System
import static java.lang.System.*
私はJavaについての本を読んでいて、そこに書かれています。
この単語を使用しないインポート宣言
static
は、パッケージの名前で始まり、次のいずれかで終わる必要があります。
- そのパッケージ内のクラスの名前
- アスタリスク(そのパッケージ内のすべてのクラスを示します)
たとえば、宣言import
java.util.Scanner;
は有効です。これjava.util
は、がJava APIのパッケージの名前であり、 がパッケージScanner
のクラスの名前であるためjava.util
です。別の例を示します。はJavaAPIのパッケージの名前であり、アスタリスクはパッケージ内のすべてのクラスを参照しているため、宣言
import javax.swing.*;
は有効です。javax.swing
javax.swing
そして、私は次のコードを持っています:
public class Addition {
public static void main(String[] args) {
double num;
num = 100.53;
num = num + 1000;
// So when I want to import the whole package java.lang as written in the book, it doesn't work:
// import java.lang.*;
// or like this:
// import static java.lang.*;
// NetBeans in both cases doesn't see these abbreviated names `out` and throws errors. Why?
out.print("The result is ");
out.print(num);
out.println(" .");
}
}
そして、この方法でインポートすると機能します。
import static java.lang.System.out;
import static java.lang.System.*
しかし、これを実行しようとすると機能しません。
import java.lang.System.out;
import java.lang.System.*
static
この特定の場合のキーワードの意味は何ですか?
そして、なぜクラスをimport java.lang.*;
含むパッケージ全体をインポートしないのですか?System