次の簡単なコード スニペットを検討してください。
public class HelloWorld {
public static void main(String[] args) {
List<Object> l = new Vector<Object>();
System.out.println("Hello World:" + l.size());
}
}
List
とを使用するにVector
は、次のいずれかを行う必要があります
import java.util.*;
また
import java.util.List;
import java.util.Vector;
または、コード内のクラス名にパッケージ名を追加して、インポートをまったく使用しないこともできます。
どちらの場合でも、からの出力java -verbose
はまったく同じです。さらに、どちらの場合も、この単純なコード用にロードされる 347 個のクラスがリストされています。その理由はHelloWorld.class
、 、 、java.util.List.class
およびだけjava.util.Vector.class
でなく、アプリケーションを実行するために Java ランタイムが必要とする依存クラスもロードする必要があるためです (この例では、これにはjava.lang.System.class
と からのいくつかのクラスが含まれjava.io
、取り込まれます)。参照を通じてSystem.out
)。
そのため、完全なパッケージをインポートすることによるパフォーマンスへの影響はありません。クラス ファイル レベルでは、すべてのクラスは、パッケージ名を含む完全修飾名で参照されます。これは、クラスのインポート方法とは無関係です。