ソフトウェア開発の領域では、複数のクラスが同じ名前を共有するシナリオに遭遇する可能性があります。これらのクラスを Java プロジェクトにインポートしようとする場合、これが課題になる可能性があります。この状況を把握するために、次のコード スニペットを調べてみましょう。
import java.util.Date; import my.own.Date; class Test { public static void main(String[] args) { // I want to choose my.own.Date here. How? // I want to choose util.Date here. How? } }
このコードは、「Date」という名前の 2 つのクラスを異なるパッケージからインポートしようとします。1 つは java.util パッケージから、もう 1 つは my.util パッケージからです。独自のパッケージ。ただし、次のような疑問が生じます: Test クラス内でこれらのクラスを選択するにはどうすればよいですか?
この名前の競合を解決するには、いくつかの方法があります。
1.完全修飾クラス名を使用する:
簡単な解決策の 1 つは、クラスを参照するときに、パッケージ名を含む完全修飾クラス名を使用することです。例:
java.util.Date javaDate = new java.util.Date(); my.own.Date myDate = new my.own.Date();
このメソッドは、使用するクラスを明示的に指定し、曖昧さを排除します。
2. Import ステートメントの省略:
または、インポート ステートメントを完全に削除し、完全修飾名でクラスを参照することもできます。これは機能しますが、特に多数のパッケージを含むシナリオではコードが乱雑になる可能性があります。
Test.main(args) // ***NOT RECOMMENDED*** Calls the main method in this class java.lang.System.out.println("Hello, world!"); // Prints "Hello, world!"
同じ名前のクラスを持つことは技術的には可能ですが、この方法は一般に落胆した。ほとんどの場合、潜在的な混乱やエラーを避けるために、別の名前を使用することをお勧めします。同じ名前のクラスを使用することが避けられない場合は、命名規則またはドキュメントを通じてクラスを明確に区別することが重要です。
以上がJava で重複した名前を持つクラスをインポートするときに名前の競合を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。