Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java 9のmodule-infoファイルでのexport句の使用は何ですか?


モジュール 両方のコードの組み合わせです およびデータ 名前があり、他のモジュールへの依存関係を宣言し、このモジュールの外部からアクセスできるパブリックタイプを含むパッケージをエクスポートし、使用するサービスまたは提供するサービスの実装を指定します。これらはすべて、 module-info.javaで指定されています モジュールのルートディレクトリに含まれているファイル。

エクスポート」には2つのタイプがあります "句は"module-info.javaで使用できます "ファイル。

1)エクスポート<パッケージ>: デフォルトでは、タイプは public モジュールのは、モジュールの外部には表示されなくなります。特定のパッケージのパブリックタイプを他のモジュールから見えるようにするには、エクスポートする必要があります。 このパッケージ。私たちは、タイプのユニットレベルではなく、パッケージレベルにいることを覚えておく必要があります。ただし、サブパッケージはエクスポートされません。

他のモジュールがパッケージのクラスとインターフェースを使用できるようにする必要がありますtp.com.tutorialspoint.model 、次のように書くことができます:

module com.tutorialspoint.model {
   exports tp.com.tutorialspoint.model;
}
パッケージは1つのモジュールにのみ存在できることを理解することが非常に重要です。そうしないと、次のようなエラーが発生します:

Error:(1, 1) java: package exists in another module:


2) にエクスポート: 特定のパッケージの可視性をモジュールの有限リストに減らすことで、モジュールのセキュリティを強化できます。リストされたモジュールのみがこれらのクラスにアクセスできます。

module com.tutorialspoint.model {
   exports tp.com.tutorialspoint.model
      to com.tutorialspoint.gui;
}

  1. JavaでのsetBounds()メソッドの使用は何ですか?

    レイアウト マネージャー 追加されたコンポーネントの位置とサイズを自動的に決定するために使用されます。レイアウトマネージャーがない場合は、コンポーネントの位置とサイズを手動で設定する必要があります。 setBounds() このような状況では、メソッドを使用して位置とサイズを設定します。コンポーネントの位置とサイズを手動で指定するには、フレームのレイアウトマネージャーを nullにすることができます。 。 setBounds() setBounds() メソッドには4つの引数が必要です。最初の2つの引数は、x座標とy座標です。 左上の コーナー コンポーネントの3番目の引数は幅です コ

  2. PythonモジュールとPythonパッケージの違いは何ですか?

    すべてのPythonファイルはモジュールであり、その名前はファイルのベース名/モジュールの__name__プロパティであり、拡張子は.pyではありません。パッケージはPythonモジュールのコレクションです。つまり、パッケージは追加の__init__。pyファイルを含むPythonモジュールのディレクトリです。 __init __。pyは、パッケージを、たまたまPythonスクリプトの束を含むディレクトリと区別します。対応するディレクトリに独自の__init__。pyファイルが含まれている場合、パッケージは任意の深さにネストできます。 モジュールまたはパッケージをインポートすると、Pytho