次のような静的インポートとはどういう意味ですか:
import static com.example.foo.Suggestion;
そのようなパッケージを定義する方法と、静的インポートを使用する利点は何ですか?
次のような静的インポートとはどういう意味ですか:
import static com.example.foo.Suggestion;
そのようなパッケージを定義する方法と、静的インポートを使用する利点は何ですか?
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;
}
私が感じた static import の利点は、Constant Interface Patternよりも優れています。
通常、定数にはインターフェイスを使用し、すべてのクラスで実装されますが、API を開発している場合は、実装の詳細を公開しているようなものです。上記のwikiリンクは非常によく説明しています。
しかし、 を使用することでstatic imports
これを回避し、定数インターフェースのアンチパターンに対する非常に優れたソリューションを提供します。定数インターフェイス パターンの代わりに、最終クラスを作成し、そのクラスに public static 定数を作成し、定数が必要な場所で静的インポートを行います。
静的インポートを使用すると、通常のインポート宣言と比較して、完全なクラス名を使用せずにクラスの静的メンバーを使用できます。
Javaの静的インポートを使用すると、コード内の参照を完全に修飾しなくても、静的エンティティ(メソッド、プロパティ)を参照できます。糖衣構文です。
静的インポートは、静的フィールドとメソッドに対してのみ使用できます。メソッドを定義する必要があり、