首頁 >Java >java教程 >如何從命名的 Java 包存取預設包物件?

如何從命名的 Java 包存取預設包物件?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-20 10:49:10833瀏覽

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

從命名包存取預設包中的Java 類別

在協作Grails 專案中,存取預設包中Groovy 建立的物件來自命名包中的Java 類別可以構成挑戰。

問題:有沒有辦法從打包的 Java 類別中存取此預設包物件?

答案:

從命名包存取預設包中的類別通常是不可能的。

Java 之前2 標準版 (J2SE) 1.4 中,允許使用語法 import Unfinished; 從預設套件匯入類別。但是,這種做法不再被允許。

要從打包類存取預設包類,您必須將預設包類移至命名包中。這涉及:

  1. 識別 Groovy 產生的原始碼。
  2. 後處理程式碼以將預設套件檔案移至專用套件。
  3. 新增「package」指令的開頭file.

注意:在Java 開發工具包(JDK) 7 和8 中,嚴格禁止從未命名的套件導入(錯誤6975015)。成功編譯必須滿足以下條件:

  • 型別名稱必須引用命名包中的類別、介面、枚舉或註解類型。
  • 如果類型不直接位於命名包內,其最外層封閉類型必須位於命名包內package.

背景: 預設包的存在是為了方便開發小型、臨時或初始應用程式。從命名包存取預設包類別違反了封裝和模組化的設計原則。

以上是如何從命名的 Java 包存取預設包物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn