仕様で正確に定義されていることは知っていますが、その理由はわかりません。
A class space is then all classes reachable from a given bundle’s class loader.
Thus, a class space for a given bundle can contain classes from:
• The parent class loader (normally java.* packages from the boot class path)
• Imported packages
• Required bundles
• The bundle's class path (private packages)
• Attached fragments
仮定しましょう:
- バンドルは「import-package: a」を宣言します
- このバンドルにはローカル クラス aX があります
- 別のバンドルにクラス aX があります
new aX() は別のバンドルからクラスをロードします。
インポートされたクラスがバンドル クラスよりも優先される理由は何ですか? それはJava階層クラスのロードポリシーの結果としての継続ですか?