異なるパッケージまたはライブラリから同じ名前の複数のクラスをインポートする場合、この競合が発生する可能性があります。このシナリオを分析し、それを処理するためのオプションを調べてみましょう。
指定されたコードには、java.util と my.own からインポートされた Date という名前の 2 つのクラスがあります。曖昧さを避けるために、それぞれの場合に特定のクラスを選択する必要があります:
// Specify the full qualified class name for 'my.own.Date' my.own.Date myDate = new my.own.Date(); // No need to specify the full qualified class name for 'java.util.Date' (because it's already defined) Date javaDate = new Date();
もう 1 つのオプションは、クラスを明示的に参照するときにインポート ステートメントを省略し、クラス パス全体を使用することです:
// Using the full qualified class name java.util.Date javaDate = new java.util.Date(); // Using the full qualified class name my.own.Date myDate = new my.own.Date();
このアプローチは明確さを保証しますが、便利ではない可能性があり、コードが乱雑になる可能性があります。
一般的な方法として、異なるパッケージのクラス間の名前の競合を避けることをお勧めします。避けられない場合は、曖昧さを避けるために完全修飾クラス名を一貫して使用することをお勧めします。
以上が同じ名前を持つクラスのインポートをどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。