ホームページ >Java >&#&チュートリアル >名前付き Java パッケージからデフォルトのパッケージ オブジェクトにアクセスするにはどうすればよいですか?

名前付き Java パッケージからデフォルトのパッケージ オブジェクトにアクセスするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-20 10:49:10839ブラウズ

How Can I Access a Default Package Object from a Named Java Package?

名前付きパッケージからデフォルト パッケージ内の Java クラスにアクセスする

協調的な Grails プロジェクトで、デフォルト パッケージ内の Groovy で作成されたオブジェクトにアクセスする名前付きパッケージ内の Java クラスから、

質問: パッケージ化された Java クラス内からこのデフォルトのパッケージ オブジェクトにアクセスする方法はありますか?

回答:

名前付きパッケージからデフォルト パッケージ内のクラスにアクセスすることは、通常は行われません。

Java 2 Standard Edition (J2SE) 1.4 より前では、構文 import Unfinished; を使用してデフォルトのパッケージからクラスをインポートすることが許可されていました。ただし、この方法は現在許可されていません。

パッケージ化されたクラスからデフォルトのパッケージ クラスにアクセスするには、デフォルトのパッケージ クラスを名前付きパッケージに移動する必要があります。これには以下が含まれます。

  1. Groovy によって生成されたソース コードの特定。
  2. コードの後処理で、デフォルトのパッケージ ファイルを専用パッケージに移動します。
  3. "package" ディレクティブを先頭に追加します。 file.

注: Java Development Kit (JDK) 7 および 8 では、名前のないパッケージからのインポートは厳しく禁止されています (バグ 6975015)。コンパイルを成功させるには、次の条件を満たす必要があります:

  • 型名は、名前付きパッケージ内のクラス、インターフェイス、列挙型、または注釈型を参照する必要があります。
  • 型が名前付きパッケージ内に直接存在しない場合、その最も外側の囲み型は名前付きパッケージ内にある必要があります。 package.

Background: デフォルトのパッケージは、小規模な、一時的な、または初期のアプリケーションの開発に便利なように存在します。名前付きパッケージからデフォルトのパッケージ クラスにアクセスすることは、カプセル化とモジュール性の設計原則に反します。

以上が名前付き Java パッケージからデフォルトのパッケージ オブジェクトにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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