クラス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.swingjavax.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