Java 静的インポートは、任意のクラスの静的メンバーを直接使用するのに役立つメカニズムです。クラス内の静的項目は、別の修飾を必要とせずにモジュール内で簡単に参照できます。クラス名やオブジェクトは必要なく、これらの静的オブジェクトを直接使用できます。これは、コードの可読性を高め、コードの品質を向上させる良い方法です。必要でない限り、静的インポートを使用することはお勧めできません。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
静的インポートは、クラスの静的メンバーを直接使用するのに役立ちます。これにより、すべてのクラス メンバーにアクセスできるようになり、クラス名を繰り返し言及することなくそのクラスのメンバーを使用できるようになります。以下のコードは静的インポートの例です。 System.out である System クラスのモジュールを使用する必要はありません。代わりに、コード内で out.println を直接参照できます。System クラスを静的にインポートしているため、そのプログラムは正常に実行されます。
import static java.lang.System.*; public class StaticImportInstance{ public static void main(String args[]){ out.println("Hi");//Now no need of System.out out.println("We are using Static Import"); } }
静的インポート機能を使用する例をいくつか見てみましょう。
組み込み Java Math クラスを静的にインポートします。
コード:
import static java.lang.Math.PI; import static java.lang.Math.pow; public class HelloStaticWorld { public static void main(String[] args) { System.out.println("Hello, Let us get introduced to the Static Import World!"); System.out.println("Let us consider a circle with a diameter of 5 cm, it has"); System.out.println("a circumference of " + (Math.PI * 5) + " cm"); System.out.println("and the area of circle will be" + (Math.PI * Math.pow(2.5, 2)) + " sq. cm"); } }
出力:
上記のプログラムは Math クラスをインポートしています。さらに進んで、PI メソッドと POW メソッドも静的にインポートされます。これらを静的に使用すると、プログラム内でそれ以上の参照やオブジェクトを作成する必要がなくなります。インポートされたクラスは簡単に使用できます。 Math.PI を使用して PI の値を使用し、円の円周を求めました。また、円の面積を求めるのに役立つ PI メソッドと POW メソッドを再度使用して、円の面積を求めました。スクリーンショットを確認すると、円の円周と面積が表示されていることがわかります。
組み込み Java Integer クラスのインポート
コード:
import static java.lang.Integer.MAX_VALUE; import static java.lang.Integer.MIN_VALUE; public class StaticImportInteger { public static void main(String args[]) { //Finding Max and Min without static import System.out.println("We will find maximum value of an integer variable in Java without using" + "static import : " + Integer.MAX_VALUE); System.out.println("We will find minimum value of an integer variable in Java without using" + "static import : " + Integer.MIN_VALUE); //Finding Max and Min without static import System.out.println("We will find maximum value of an integer variable in Java with using" + "static import : " + MAX_VALUE); System.out.println("We will find minimum value of an integer variable in Java with using" + "static import : " + MIN_VALUE); } }
出力:
上記の例は、Integer クラスを静的にインポートしています。これは、このクラスのメソッドを直接使用でき、さらに参照することなくプログラム内で使用できることを意味します。まず、静的インポートを使用せずに通常の関数を使用して、整数の最大数と整数の最小数を見つけます。ここではクラス名を使用してから関数名を使用します。例を見ると、Integer.Min_Value と Integer.Max_Value が使用されています。次のコードでは、静的インポートを利用します。ここで確認すると、MAX_VALUE メソッドと MIN_VALUE メソッドを直接使用していることがわかります。結果は両方とも同じになります。これは、さまざまな Java 関数を使用できる 2 つの方法があることを示しています。
静的インポート使用時のあいまいさ
コード:
import static java.lang.Integer.*; import static java.lang.Long.*; public class HelloAmbiguity{ public static void main(String[] args) { System.out.println(MAX_VALUE); } }
出力:
同じクラスの静的メンバーがインポートされる場合、上記のような状況が発生する可能性があります。これが発生すると、コンパイラはどのメンバーを選択すればよいか混乱します。その結果、同じクラスのメンバーに関しては曖昧さに直面します。上の例では、lang クラスが 2 回インポートされています。使用するさまざまなメンバーは Integer と Long です。 main 関数が呼び出されるとき、コンパイラは Integer と Long のどちらのメンバーを選択するか混乱します。特定のクラス名がないと、どのメンバーを使用すべきかを計算できません。したがって、上のスクリーンショットでわかるように、エラーがスローされます。
静的メソッドを使用することには多くの利点があります。いくつか例を挙げると、以下のとおりです。
静的インポート メソッドは、クラスの参照を作成せずに、クラスのメンバーを使用する簡単な方法です。クラスをインポートするときに、これらのメソッドを直接使用できます。静的インポートにより、ユーザーは必要なキーストロークの数が少なく、より効率的なコードを作成できるようになります。静的インポートを使用することもできますが、要件にその必要がある場合にのみ使用することをお勧めします。
以上がJava 静的インポートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。