私は誰かの他のコードを見ていました、そして彼らはパッケージ名を使ってそれをコーディングします。
String filename = "";
java.io.PrintWriter writer;
writer = new java.io.PrintWriter(new java.io.FileWriter(filename));
構文は、パッケージ名でコーディングされていなかった場合と同等ですか?Javaで許可されているので、パッケージ名でコーディングすることはできますか?
次の場合は、パッケージ名(または「完全修飾名」-これはパッケージ名とクラス名を一緒に参照します)を使用する必要があります。
import
いずれにせよ、使用しているクラスは使用しませんでした。(通常は狂気です。)import
はクラスを編集しましたが、私にはわからないので、とにかくパッケージ名を使用しています。完全修飾名を使用することは、指定されたクラスがインポートされた場合と意味的に同じです。
FQNの考えられる使用法の1つは、同じ名前で異なるパッケージの2つのクラスを操作する必要がある場合です。
import java.util.Date;
Date date = new Date();
java.sql.Date sqlDate = new java.sql.Date(date);
パッケージ名を使用することはできず、コードはまったく同じですjava.io
。プログラムの上部にあるパッケージからクラスをインポートする必要があります。
import java.io.PrintWriter;
import java.io.FileWriter;
String filename = "";
PrintWriter writer;
writer = new PrintWriter(new FileWriter(filename));
あいまいさを回避する方法として、パッケージを含むクラス名を記述できます。たとえば、プログラムにPrintWriterという名前のクラスが2つあるとすると、java.io.PrintWriter
java.ioから1つを取得します。
「標準」クラスでもかなりの重複した名前が存在することは実際には驚くべきことではありません。たとえば、Dateはjava.utilとjava.sqlに存在し、Queueはjava.utilとjavax.jmsに存在します。何度も。