toUpperCase()
などの文字列関数を使用しているときにパッケージをインポートしない理由を自問しました。彼らはパッケージをインポートせずにどうやってそこに入るのですか?
便宜上、Javaコンパイラは、ソースファイルごとに3つのパッケージ全体を自動的にインポートします。(1)名前のないパッケージ、(2)
Java.lang
パッケージ、(3)現在のパッケージ(現在のファイルのパッケージ)...
クラス文字列はJava.lang
パッケージにあるため、上記のルールに従って自動的にインポートされます。
Java.lang
パッケージはデフォルトでインポートされます。 package のクラスを見ると、プログラムが実際に何をしようとしているかに関係なく、頻繁に使用する非常に一般的なクラスであることがわかります。本質的にすべてのファイルにこれらのクラスのインポート文を要求するのではなく、作成者は裏でそれを含めることにしました。
stringオブジェクトはJava.lang
の一部であり、コアと見なされ、常に含まれます(たとえば、Object
のように)