2

注:これはおそらく自由形式の質問であると認識しているので、これが属していないか、メリットがないと思われる場合は、削除のフラグを立ててください。

私はJava(または実際にはプログラミング全般)を使用していないので、ほとんどの時間は実用的なアプリケーション(特に、Android)の学習に費やされています。したがって、私は概念的な問題に関しては非常に遅れていることを認識しています。

私の質問はこれです:import 'package name';完全に修飾されたクラス名を単に使用するのではなく、ステートメントを使用することが適切なのはいつですか?

私は、コーダーが使用することを決定したサンプルコードと、その後のすべてのインスタンスのandroid.widget.Button呼び出しimport android.widget.Buttonと使用を確認しました。私は現在、特定のクラスを1回だけ使用することがわかっているコードを書いていますが、ステートメントを使用するのは無駄Buttonだと感じています。import

importステートメントを使用する場合と完全修飾名を使用する場合のガイドラインをいただければ幸いです。私は決定的な答えを探しているのではなく、いくつかの役立つヒントを探しています。

4

4 に答える 4

5

解決策は簡単です。同じクラスで使用する必要のあるクラスが複数ある場合Button(明らかに、それぞれが独自のパッケージに含まれている場合)完全修飾名を使用します。それ以外の場合は、必要なクラスのみをインポートします。Button

一般に、パッケージのインポートは、よりクリーンなコードをもたらし、コンパイラーがどのクラス(パッケージ)を事前にコンパイルするかを認識できるようにするために推奨されます。

于 2012-06-20T13:41:31.333 に答える
1

3 つの明白な理由があります。

  1. コードを短くきれいにします。
  2. パッケージで多くのクラスを使用している場合は、パッケージ全体をインポートするのが理にかなっています。
  3. import ステートメントは、クラスのメタデータの一種であり、クラスの依存関係を外界に宣言します。
于 2012-06-20T13:46:39.087 に答える
0

使用importは便利な問題です。コードでクラス名のみを使用すると、読みやすくなります(また、入力する文字も少なくなります!;-))

また、ツール(Eclipseなど)はインポートを整理し、クラス名のみに基づいてインポート元のパッケージを提案します。

コードで完全修飾クラス名を使用する場合-クラス名(たとえば、classと)で衝突があり、使用しているクラスをコードで明示的に指定する必要がある場合に便利です(実際には必須です)。 。ただし、このような状況でも、これらのクラスの1つ(より頻繁に使用されるクラス)をインポートして、もう1つを明示的に入力することができます。my.components.Buttonandroid.widget.Button

于 2012-06-20T13:41:45.890 に答える
-2

常にインポートを使用してください。そうしない理由はありません。そうすれば、よりクリーンなコードが得られます。

于 2012-06-20T13:41:26.207 に答える