【Java】インポート（ 他のパッケージのクラスやメソッドを使う ）


## インポート 
他の[パッケージ]や[クラス]を呼び出して使う、インポートに関するメモです。

## インポートとは

インポートとは、「 **他の[パッケージ]に記入されているクラスや関数を実行するための記述**　」です。

「 **他の [クラス] を利用して [クラス] の [インスタンス] を生成することができ、また「**外部ライブラリを自分のプログラムで使えるようにする時** 」も、インポートを用います。

## インポートの使い方
インポートは基本的にソースコードの先頭にある、[パッケージ]の下に記述する。

import の後ろに、 [パッケージ]と[クラス]もしくは[インターフェイス]名を指定して読み込むみます。

```
import パッケージ名.クラス名;
import パッケージ名.インターフェイス名;
```

サンプルコード

```
// javaパッケージの中のlangパッケージの中のMathクラスをimport
import java.lang.Math;
 
 
public class StaticClass {
    public static void staticMethod(){
        
        int num1 = 10;
        int num2 = 20;
        
        // importしたMathクラスのmaxメソッドを使用
        int nmax = Math.max(num1, num2);
        System.out.println("nmax : " + nmax);
    }
}
```
【出力結果】

```
nmax : 20
```

## staticインポート
本来、[static修飾子]のつく[フィールド]や[メソッド]は、
`クラス名.フィールド{名`や`クラス名.メソッド名`の書式で、どのクラスに定義されているものか明示しなければいけません。

これを 「**[フィールド]名や [メソッド]名だけで省略表記できる**」ようにするための宣言が **staticインポート**です。


### staticメソッドをインポート宣言するとき

- [メソッド]だけを記述し、"()" や[引数]などは記述しない
- オーバーロードされた同名のメソッドが複数あった場合はオーバーロードのルールが適用されるので、メソッドの数だけインポート宣言したり、引数を指定したりする必要はない
- インポートしたクラスに、インポートされたメソッドやフィールドと同名のものがあった場合、そのインポートは無視される
- staticインポートは、import staticに続けて、省略表記したいフィールドやメソッドの完全修飾クラス名を記述する

### staticメソッドのインポート宣言
 
 ```java
import static jp.co.xxx.Sample.num //Sampleクラスのstaticなフィールドをインポート
import static jp.co.xxx.Sample.print //Sampleクラスのstaticなメソッドをインポート
```

[インスタンス]:https://qiita.com/takahirocook/items/ec01cdcbb440cf0d1cc4
[インスタンス化]:https://qiita.com/takahirocook/items/ec01cdcbb440cf0d1cc4
[アクセス修飾子]:https://qiita.com/takahirocook/items/e51b0b9d37d95ad587fe
[フィールド]:https://qiita.com/takahirocook/items/28df75a133049a74ece1
[フィールド変数]:https://qiita.com/takahirocook/items/28df75a133049a74ece1
[new演算子]:https://qiita.com/takahirocook/items/00f9f97592bf50831d39
[カプセル化]:https://qiita.com/takahirocook/items/e469a7c0539a0012868e
[クラス]:https://qiita.com/takahirocook/items/50cbbdca8e21539170e9
[メソッド]:https://qiita.com/takahirocook/items/5bfe43576d87a2a4006c
[mainメソッド]:https://qiita.com/takahirocook/items/f4635915337303de338c
[メソッドの呼び出し]:https://qiita.com/takahirocook/items/f4635915337303de338c
[コンストラクタ]:https://qiita.com/takahirocook/items/fa1822f2f22c3786593e
[引数]:https://qiita.com/takahirocook/items/5e5b0ba79e869f4a592e
[戻り値]:https://qiita.com/takahirocook/items/3b6fa670a1d6dd4a9386
[this]:https://qiita.com/takahirocook/items/d251ec4693c68f6b9538
[getter・setter]:https://qiita.com/takahirocook/items/27828bc8477735612021
[setter]:https://qiita.com/takahirocook/items/27828bc8477735612021
[getter]:https://qiita.com/takahirocook/items/27828bc8477735612021
[オブジェクト指向]:https://qiita.com/takahirocook/items/041ba7a096b71ab8ffd4
[継承]:https://qiita.com/takahirocook/items/6c84ea66a6e2ad536a37
[オーバーライド]:https://qiita.com/takahirocook/items/09dd8e5f56d6617ce45a
[オーバーロード]:https://qiita.com/takahirocook/items/b937c3c07126fe7e02a4
[this]:https://qiita.com/takahirocook/items/d251ec4693c68f6b9538
[super]:https://qiita.com/takahirocook/items/75a07131e7e791c8442c
[スーパークラス]:https://qiita.com/takahirocook/items/75a07131e7e791c8442c
[final]:https://qiita.com/takahirocook/items/5e0916d9bf28bcf68d0c
[final修飾子]:https://qiita.com/takahirocook/items/5e0916d9bf28bcf68d0c
[定数]:https://qiita.com/takahirocook/items/5e0916d9bf28bcf68d0c
[static修飾子]:https://qiita.com/takahirocook/items/cf527f85d17a5af86735
[static]:https://qiita.com/takahirocook/items/cf527f85d17a5af86735
[インスタンスフィールド]:https://qiita.com/takahirocook/items/cf527f85d17a5af86735
[インスタンス変数]:https://qiita.com/takahirocook/items/cf527f85d17a5af86735
[動的メソッド]:https://qiita.com/takahirocook/items/cf527f85d17a5af86735
[インスタンス変数]:https://qiita.com/takahirocook/items/cf527f85d17a5af86735
[静的メソッド]:https://qiita.com/takahirocook/items/cf527f85d17a5af86735
[クラスメソッド]:https://qiita.com/takahirocook/items/cf527f85d17a5af86735
[静的メソッド]:https://qiita.com/takahirocook/items/cf527f85d17a5af86735
[クラスフィールド]:https://qiita.com/takahirocook/items/cf527f85d17a5af86735
[クラス変数]:https://qiita.com/takahirocook/items/cf527f85d17a5af86735
[静的変数]:https://qiita.com/takahirocook/items/cf527f85d17a5af86735
[インターフェイス]:https://qiita.com/takahirocook/items/ca84be8dfef664b19194
[インターフェース]:https://qiita.com/takahirocook/items/ca84be8dfef664b19194
[パッケージ]:https://qiita.com/takahirocook/items/39b58d17abcb159ef5c1