2

次のような静的インポートとはどういう意味ですか:

import static com.example.foo.Suggestion;

そのようなパッケージを定義する方法と、静的インポートを使用する利点は何ですか?

4

5 に答える 5

8

import staticこれは、クラス名を使用せずに静的な値を参照できることを意味します。

たとえば、次の3つのクラスについて考えてみます。

package com.example;
public class foo {
    public static int Suggestion = 5;
}
import com.example.foo;
public class b {
    // …
    int var = foo.Suggestion;
}
import static com.example.foo.Suggestion;
public class c {
    // …
    int var = Suggestion;
}
于 2013-01-08T06:13:15.847 に答える
3

私が感じた static import の利点は、Constant Interface Patternよりも優れています。

通常、定数にはインターフェイスを使用し、すべてのクラスで実装されますが、API を開発している場合は、実装の詳細を公開しているようなものです。上記のwikiリンクは非常によく説明しています。

しかし、 を使用することでstatic importsこれを回避し、定数インターフェースのアンチパターンに対する非常に優れたソリューションを提供します。定数インターフェイス パターンの代わりに、最終クラスを作成し、そのクラスに public static 定数を作成し、定数が必要な場所で静的インポートを行います。

于 2013-01-08T06:18:17.050 に答える
2

静的インポートを使用すると、通常のインポート宣言と比較して、完全なクラス名を使用せずにクラスの静的メンバーを使用できます。

于 2013-01-08T06:20:34.150 に答える
0

Javaの静的インポートを使用すると、コード内の参照を完全に修飾しなくても、静的エンティティ(メソッド、プロパティ)を参照できます。糖衣構文です。

于 2013-01-08T06:12:23.143 に答える
0

静的インポートは、静的フィールドとメソッドに対してのみ使用できます。メソッドを定義する必要があり、

于 2013-01-08T06:18:05.303 に答える