0

なぜ毎回、誰もがインポートするのですか(またはこれはインポートではありません)

Class.forName("com.mysql.jdbc.Driver").newInstance();

そして私が

import com.mysql.jdbc.Driver;

お知らせを表示します

he import com.mysql.jdbc.Driver は使用されません

この2つの違いは何ですか??

4

2 に答える 2

3

どのクラスをロードする必要があるかが実際にわからない場合は、ファクトリメソッドを使用します。
あなたの場合、それはClass.forNameデータベースドライバクラスにあります。
クラスをロードするのはJVMへの実行時命令であるためimport ...、この場合、ステートメントは必要ありません。

特定のクラスを使用する場合と同様import ...に、Javaコンパイラは、コンパイルされるクラスで使用する前に、そのクラスを見つけてロードしようとします。この例の場合、クラスをインポートしてコードで使用しないと、通常はコードを記述しているMyEclipseのようなIDEで、インポートしたクラスが使用されなかったことが通知されます。これはエラーや警告ではありませんが、コンパイラの負荷を軽減するために安全に削除できます。

于 2012-10-28T14:33:53.127 に答える
2

ReflectionClass.forNameを使用するため、を使用する場合はインポートする必要はありません。

于 2012-10-28T14:25:36.850 に答える