機能に基づくクラスの整理

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、パッケージを使ってクラスを機能に応じて整理する方法を学びます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/packages_api("Packages / API") subgraph Lab Skills java/classes_objects -.-> lab-178550{{"機能に基づくクラスの整理"}} java/packages_api -.-> lab-178550{{"機能に基づくクラスの整理"}} end

パッケージ

これまでに、私たちは多くのクラスを書きました。大規模なプロジェクトでは、おそらく何百ものクラスがあり、それだけのファイルやクラスを整理するのは簡単ではありません。異なるプログラマーが異なるクラスを書く場合があり、時には同じ名前のクラスがプロジェクトに現れることもあります。では、これらの問題をどのように回避するかというと、パッケージを使うことができます。Javaライブラリはパッケージに分けられており、java.langも含まれており、これまでに使ってきたほとんどのクラスが含まれています。パッケージは、関連する型のグループであり、アクセス保護と名前空間管理を提供します。型とは、クラス、インターフェイス、列挙型、およびアノテーション型を指します。

パッケージを作成するには、パッケージに名前を付け、そのパッケージに含めたい型を含むすべてのソースファイルの先頭にその名前のパッケージ宣言を記述します。パッケージ宣言は、ソースファイルの最初の行になければなりません。各ソースファイルには1つだけのパッケージ宣言があります。

パッケージの外部からパブリックなパッケージメンバーを使用するには、次のいずれかを行う必要があります。

  • 完全修飾名でメンバーを参照する
  • パッケージメンバーをインポートする
  • メンバーのパッケージ全体をインポートする

/home/labex/project/com/example/demo/packageDemo.java ファイルに次のコードを記述します。

package com.example.demo;  // 新しいパッケージを作成する

public class packageDemo{
    public static void test(){
        System.out.println("This is a package test.");
    }
}

/home/labex/project/packageTest.java ファイルに次のコードを記述します。

import com.example.demo.packageDemo;
class packageTest{
    public static void main(String[] args){
        packageDemo.test();
    }
}

出力

次のコマンドを使用して packageTest.java ファイルを実行します。

javac /home/labex/project/packageTest.java
java packageTest

出力を確認します。

This is a package test.

まとめ

パッケージは、論理的な関係があるクラスをまとめるか、特定の機能を実現するための手段を提供します。パッケージを使用することで、名前の衝突を回避することができます。自分のコードをパッケージにまとめて他人に提供したり、インターネット上で他人からパッケージを入手したりすることができます。これにより、コーディングがより便利になります。