0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Java・学習ログ⑥】パッケージ(クラスファイルの分割)について

Posted at

教本に沿ってやってみたシリーズ、『第6章』です。

≪使用教材≫スッキリわかるJava入門 第3版 スッキリわかるシリーズ

ソースファイルの分割

Javaでは⑤のように作成した複数のメソッドを、クラス別に仕分けることができる。
スクリーンショット 2023-08-16 034357.png
【実行】
image.png

  • プログラム
    分割したクラスファイルをまとめたフォルダ。

  • パッケージ
    分割したクラスファイルを分類、管理するしくみ。
    分類、整理することのほか、複数人でプログラムの開発するにあたり、同じクラス名を取り合うという衝突を避けられるメリットがある。パッケージ名が異なれば1つのプロジェクト内で同じクラス名を使用することが可能だが、パッケージ名が被ってしまうとその前提が崩される。なので、あらかじめ誰がどのようなパッケージを使うか決めておくとよい。
    (javaでは自分(自社)が保有するドメインを前後逆順にしたものから始まるパッケージ名を用いることを推奨している)

packege.project6; //下記のCalcLogic.javaをパッケージ名「calcapp.main」に所属させる
public class CalcLogic { // クラス名「Calc.java」のファイルが出来上がる
int total = project6.CalcLogic.tasu(a,b); //パッケージ名、クラスを指定して呼び出し【FQCN】
  • 完全限定クラス名(FQCN)

「パッケージ名を頭に付けたクラス名」のこと。このFQCNはimport文を使うことで省略できる。
スクリーンショット 2023-08-16 042144.png
スクリーンショット 2023-08-16 042725.png
なお、パッケージに属する全クラス呼び出したい場合は下記のように記述が可能。

import project.other.CalcLogic.*;
  • クラスローダー
    javaコマンドにFQCNを用いて実行すると、JVM内部の『クラスローダー』という機構が作動する。
    PC内からクラスファイルを検索し、JVMに読み込んで利用を可能にするものである。
    膨大な容量のハードディスク内からの高速検索を実現するにはクラスパスという情報が必要になる。
    クラスパスを指定するには「起動時にjavaコマンドで指定」、「OS側で環境変数の設定」、「特に指定しない(実行フォルダをクラスパスにする)」という3つの手段がある。

  • API(applecation Programming Interface)
    Javaに初めから標準添付されているクラスの総称。これまで作成した1つのクラスはこれら数百個のクラスと連携して動いている。下記は代表的な例。

java.lang 重要なクラス群
java.util プログラミングを便利にするクラス群
java.math 数学に関するクラス群
java.net ネットワーク通信などを行うためのクラス群
java.io ファイル読み書きなどのデータ処理のためのクラス群

java.lang パッケージは頻繁に利用するので、improt文を使用しなくても呼び出される特別仕様になっている。これまで画面表示に使っていた「System.out.println()」も一例である。



頭こんがらがってきました!

以上、雑備忘録◎

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?