0

以下の点に違いがあるのか​​知りたいです。

import packageX.packageY.classZ;

public void dummyMethod()
{
     classZ dummyObj = new classZ();
}

public void dummyMethod()
{
     packageX.packageY.classZ dummyObj = new packageX.packageY.classZ();
}

パフォーマンス/コンパイル時/実行時の違いはありますか? まったく何か?

4

3 に答える 3

4

生成されるバイトコードは同じであるため、実行時の違いはありません。

importコードが読みやすくなります。

ただし、他のクラスと競合する可能性がある場合は、完全修飾名を使用する必要があります。

于 2013-10-30T06:50:28.527 に答える
3

違いはまったくありません。速度やパフォーマンスなどには影響しません。

明らかに読みやすさにのみ影響し、それをインポートする場合、その名前空間の他のクラスを使用する場合は、型を少なくする必要があります。

使用されていない名前空間を 100 個インポートしても、パフォーマンスには影響しません。

于 2013-10-30T06:49:19.163 に答える
1

パフォーマンスに関しても実行に関しても : まったく違いはありません 1 :

import packageX.packageY.classZ;

void dummyMethod()
{
     classZ dummyObj = new classZ();
}

これは、毎回完全なパスを入力する必要がないという単なる便宜上のものです。

2 :

void dummyMethod(){
     packageX.packageY.classZ dummyObj = new packageX.packageY.classZ();
}

この方法では、インスタンスを作成するたびにフルパスを入力する必要があります

2 番目の方法は、次の場合にのみ有益です。

==> when you have to instantiate two objects with the same Class Name from different packages
于 2013-10-30T06:54:17.023 に答える