LoginSignup
1
2

More than 5 years have passed since last update.

複数パッケージに分けた記載方法 JavaAPI クラスが読み込まれる仕組み

Last updated at Posted at 2018-02-11

複数クラスに分けた記載方法

(考え方)
メソッド数が多くなりすぎて、プログラムが複雑になってしまうため、クラス(記載ファイル)を分割することで、より簡潔にプログラムを作成する。
 
(方法)
メソッドの呼出時にクラス名 メソッド名と記載する

(例)
mainクラスの4行目で、keisanクラスのtasuメソッドを呼び出している

mainクラス

public class Main {
    public static void main(String[] args){
      int a = 10; int b = 20;
      int total =  keisan tasu(a,b);//クラス名 メソッド名 指定
      System.out.println(total);
    }
}
keisanクラス

public class keisan {//クラス名 keisan
    public static int tasu(int a, int b){//メソッド名 tasu
      return (a + b);
    }
}

(補足)
必ず最初はメインクラスから呼び出す必要がある

複数パッケージに分けた記載方法

(考え方)
クラス数が多くなりすぎて、プログラムが複雑になってしまうため、パッケージ(フォルダ)を分割することで、より簡潔にプログラムを作成する。
また、異なるパッケージであれば、同じクラス名を使用出来る。
 
(方法)
メソッドの呼出時にパッケージ名 クラス名 メソッド名と記載する

(例〜pkg図〜)

   スクリーンショット 2018-02-11 15.31.09.png

(例)

pkg1

package pkg1;

public class Main {
    public static void main(String[] args){
      int a = 10;
      int b = 20;
      int total =  pkg2.keisan.tasu(a,b);//パッケージ名 クラス名 メソッド名 指定
      System.out.println("足したら"+total);
    }
}



(補足)
パッケージ名 クラス名 メソッド名と記載しているクラスのことを、完全限定クラス(FQCN)という。

pkg2

package pkg2;//自分の所属するパッケージ名 pkg2

public class keisan {//クラス名 keisan
    public static int tasu(int a,int b){//メソッド名 tasu
      return (a + b);
    }
}

パッケージ名作成時のルール

(考え方)
世界中で開発が行われているため、被らない様に以下のルールがある。
 
(ルール)
保有するインターネットドメインを前後逆にしたもの

(例)
メールドメイン:abcd.co.jp
パッケージ名:jp.co.abcd

完全限定クラス名の省略

(考え方)
異なるパッケージのクラスを使用する場合、パッケージ名の入力を省略出来る。

(方法)
importパッケージ名.クラス名;

(例)pkg2は複数パッケージに分けた記載方法と同じ内容のため、省略。


package pkg1;

import pkg2.keisan;//importするパッケージ名の指定

public class Main {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int total = keisan.tasu(a, b);//pkg2の記載が不要になる

        System.out.println("足したら" + total);
    }
}

(補足)

そのパッケージの全てのクラスをimportしたい場合は、import パッケージ名.*;と記載する。

Java APIについて

(考え方)
・Javaには、API(アプリケーションプログラムインターフェイス)というのが元々あって、200以上のパッケージや3,500以上のクラスがある。
java.langパッケージは、使用頻度が多いためimportしなくても、デフォルトで使用可能。
java.langパッケージに所属する代表的なメソッドに、System.out.printlnなどがある。

クラスが読み込まれる仕組み

・JVMがクラスローディングを実行し、クラスファイルを読み込む。
・クラスローディングは必要な時に、必要な分だけ読み込むという仕組みに基づいている。
・JVMの中で、クラスローダーという部分が、ファイルを探している。
・この時、JVMは使いたいクラス名は指定するが保存場所は指定しない。
・クラスローダーはクラスパスという、あらかじめ指定された場所を探す事で、高速検索を実現している。

1
2
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
1
2