2017-02-07 20 views
0

私はJavaを学んでいます。このパッケージは、そのメソッドがとても一般的なので、すべてのクラスにデフォルトで提供されていると言われています。何が起こるかを見るために、私はそれを輸入しようと考えていました。私はその実用的ではないと高価かもしれませんが、私はそれが技術的な観点からはうまくいかない理由について興味があります。なぜこのデフォルトのJavaインポートは機能しませんか?

import javax.lang。*; //なぜこれが機能しないのですか?

+0

「うまくいかない」 - 何がうまくいかない?何が起こると思いますか? – alfasin

答えて

0

あなたはjava.langのをインポートする必要はありません。*

インポートルールには例外があります。 java.langパッケージ内のすべてのクラスは、デフォルトでインポートされます。したがって、java.lang。*をインポートする必要はありません。完全修飾名なしでそれらを使用する。

クラスの最初の日以降、使用していたSystem.out.println()メソッドについて考えてみましょう。

システムは本当にjava.lang.Systemクラスです。このクラスには、java.io.PrintStreamクラスのインスタンスであるoutというpublic staticフィールドがあります。したがって、System.out.println()を書くときは、java.lang.Systemクラスのoutフィールドのprintln()メソッドを実際に呼び出しています。 model https://docs.oracle.com/javase/7/docs/api/index.html?javax/lang/model/package-summary.html

あなたは、このパッケージをインポートすることで、何もしていない:

+0

それは 'java.lang'の' javax.lang'ではありません – alfasin

+0

私はそれが であることを知っています。 あなたがコメントしたように、askerはおそらくjavaxをjavaと混同しました – eBourgess

1

javax.langは、単一のパッケージが含まれています。 java.langと混同しているかもしれませんか?

関連する問題