LoginSignup
6
6

More than 5 years have passed since last update.

【Java】packageとimportによる複数ファイルでの開発

Posted at

まとめるほどもない気もするが…

複数のファイルでの開発

複数のファイルで開発を行う場合、import文で他のファイルのクラスを使うことができる。クラスが増えてくると、パッケージでまとめる。

  • import:パッケージとクラスを指定して読み込む。packageの次に記述する。
  • package:文頭に記述する。パッケージを指定する。

ここではtest.maintest.subという二つのパッケージにそれぞれMainクラスとSubクラスを入れている。

Main.java
package test.main;

import test.sub.Sub;

public class Main{
    public static void main(String[] args){
        Sub.hello();
    }
}

Sub.java
package test.sub;

public class Sub{
    public static void hello(){
        System.out.println("Hello World!");
    }
}

Main.javaSub.hello()を詳しく書くとtest.sub.Sub.hello()。これをimportで略しているという認識。

フォルダの構成は
スクリーンショット 2019-04-24 15.49.31 2.png
という感じ。

カレントディレクトリをcdというフォルダにして

java test.main.Main

と打つことでMainクラスを使うことができる。

作業ファイルがカレントディレクトリになくともクラスパスをjavaコマンド時に指定するか、あらかじめOSに登録しておくかすれば、あとはクラスローダーがやってくれる。

API

Javaにあらかじめ添付されている多数のクラス群をAPI (Application Programming Interface)という。
(別にjava以外のところでも言うけど)
代表的なところでは

  • java.lang:Javaに欠かせないクラス群。
  • java.util:プログラミングを便利にする。
  • java.math:数学関係。
  • java.net:ネットワーク通信関係
  • java.io:ファイルの読み書きなど、データの逐次処理に関わる。

使う時は

// 例1
int r = new java.util.Random().nextInt(1);

// 例2
Thread.sleep(3000);

という書き方。これは、

  • 例1
    • パッケージ:java.util
    • クラス;Random
    • メソッド:nextInt
  • 例2
    • パッケージ:java.lang
    • クラス:Thread
    • メソッド:sleep

こんな風に認識しても良い。
Threadという部分を略さずに書くとjava.lang.Threadになる。
java.langというパッケージは頻出なので略して書ける。
なお、nextInt(1)は0〜1の乱数発生、sleep(3000)はプログラムの3秒停止というメソッド。

参考書籍

スッキリわかるJava入門第2版
6章 Pp.222-259

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6