私はJavaを学んでいます。このパッケージは、そのメソッドがとても一般的なので、すべてのクラスにデフォルトで提供されていると言われています。何が起こるかを見るために、私はそれを輸入しようと考えていました。私はその実用的ではないと高価かもしれませんが、私はそれが技術的な観点からはうまくいかない理由について興味があります。なぜこのデフォルトのJavaインポートは機能しませんか?
import javax.lang。*; //なぜこれが機能しないのですか?
私はJavaを学んでいます。このパッケージは、そのメソッドがとても一般的なので、すべてのクラスにデフォルトで提供されていると言われています。何が起こるかを見るために、私はそれを輸入しようと考えていました。私はその実用的ではないと高価かもしれませんが、私はそれが技術的な観点からはうまくいかない理由について興味があります。なぜこのデフォルトのJavaインポートは機能しませんか?
import javax.lang。*; //なぜこれが機能しないのですか?
あなたは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
あなたは、このパッケージをインポートすることで、何もしていない:
javax.lang
は、単一のパッケージが含まれています。 java.lang
と混同しているかもしれませんか?
「うまくいかない」 - 何がうまくいかない?何が起こると思いますか? – alfasin