ホームページ >Java >&#&チュートリアル >Java 9 でモジュール パスを使用してクラスへのアクセスを制御する方法

Java 9 でモジュール パスを使用してクラスへのアクセスを制御する方法

WBOY
WBOYオリジナル
2023-07-31 23:27:20740ブラウズ

Java 9 でモジュール パスを使用してクラス アクセスを制御する方法

Java 9 のリリースにより、コードへのアクセスを制御および管理するために使用できる新しいモジュール システムが導入されました。この新しい機能はモジュール パスと呼ばれ、コードをより適切に整理して保護するのに役立ちます。この記事では、Java 9 でモジュール パスを使用してクラスのアクセス許可を制御する方法を紹介し、対応するコード例を示します。

Java 9 より前は、Java プログラムのクラスとパッケージはクラスパスを通じて管理され、アクセスされていました。ただし、このアプローチではクラス間の結合が容易に増加する可能性があり、十分な柔軟性がありません。モジュール パスを使用すると、これらの問題が解決され、コードの編成と管理機能が向上します。

まず、module-info.java ファイルを含む Java モジュールを作成する必要があります。モジュールは、関連するクラスとパッケージのコレクションであり、エクスポートと参照のための一連のルールです。

main と common という 2 つのモジュールを含む単純なプロジェクトがあると仮定します。私たちの目標は、メインモジュールの共通モジュールのクラスにアクセスすることです。

まず、共通モジュールを作成する必要があります。共通モジュールのルート ディレクトリに次の内容の module-info.java ファイルを作成します。

module common {
    exports com.example.commonpackage;
}

上記のコードでは、exports キーワードを使用して、共通モジュールの com.example.commonpackage パッケージをエクスポートします。モジュール。これは、他のモジュールが共通モジュール内のこれらのクラスとパッケージにアクセスして使用できることを意味します。

次に、メインモジュールを作成します。同様に、メイン モジュールのルート ディレクトリに次の内容の module-info.java ファイルを作成します。

module main {
    requires common;
}

上記のコードでは、requires キーワードを使用して共通モジュールを参照します。これは、共通モジュール内のクラスとパッケージにアクセスして使用できるようにするために、メイン モジュールが共通モジュールに依存する必要があることを意味します。

これで、メインモジュールのコード内で共通モジュールのクラスを使用できるようになります。共通モジュールに CommonClass という名前のクラスがあるとします。これをメイン モジュールのコードで使用できます。以下に例を示します。

package com.example.mainpackage;

import com.example.commonpackage.CommonClass;

public class MainClass {
    public static void main(String[] args) {
        CommonClass commonClass = new CommonClass();
        commonClass.doSomething();
    }
}

import ステートメントを使用して CommonClass クラスを共通モジュールにインポートする必要があることに注意してください。

最後に、Java 9 のコマンドライン コンパイラを使用してコードをコンパイルする必要があります。共通モジュールとメイン モジュールをそれぞれ共通フォルダーとメイン フォルダーに配置すると、次のコマンドを使用してコンパイルできます。

javac -d out --module-source-path common/main -m main

上記のコマンドでは、-d パラメーターはコンパイル出力フォルダー --module を指定します。 -source-path パラメータはモジュールのソース コード パスを指定し、-m パラメータはコンパイルするモジュールを指定します。

コンパイルが成功したら、次のコマンドを使用してプログラムを実行できます:

java --module-path out --module main/com.example.mainpackage.MainClass

上記のコマンドでは、--module-path パラメーターはモジュール パスを指定し、--module はパラメータは実行するモジュール (モジュールとメインクラス) を指定します。

モジュール パスを使用すると、コードへのアクセスをより適切に制御および管理できます。承認されたモジュールのみが特定のクラスとパッケージにアクセスして使用できるようにすることで、コードのセキュリティと保守性が向上します。

要約すると、この記事では、モジュール パスを使用して Java 9 でクラス アクセスを制御する方法を紹介します。モジュールを作成し、module-info.java ファイルを使用してエクスポートおよび参照ルールを定義することにより、コード アクセスを管理します。このようにして、コードをより適切に整理、保護、管理できるようになり、コードの保守性とセキュリティが向上します。

この記事が Java 9 のモジュール パスの理解と使用に役立つことを願っています。

以上がJava 9 でモジュール パスを使用してクラスへのアクセスを制御する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。