簡體   English   中英

JavaCompiler在重新定義Java類時未捕獲錯誤。

[英]JavaCompiler didn't catch error on redefinition of a Java class.

在學習Java的過程中,我嘗試了這段成功編譯並運行的代碼。 有人可以解釋一下為什么編譯器沒有生成任何錯誤嗎? 我導入了包括java.util> Scanner在內的完整程序包,所以應該不會有一個錯誤,即在util程序包中已經定義了Scanner,我想在這里重新定義它?

import java.util.*;

class Scanner
{
    public static void main(String... args)
    {
        Scanner c = new Scanner();
    }
}

我的Java基礎知識不是很清楚,如果這似乎完全是菜鳥的問題,並且在這個論壇上沒有類似的問題,請耐心等待,所以我想最好再問一下。

一個類不僅由其名稱定義,而且由其包定義。

在您的情況下,您有兩個不同的類:

  • java.util.Scanner
  • your.package.Scanner(對不起,您的打包行不是代碼的一部分)

對於編譯器,這些類是不同的,這就是為什么不會出現編譯錯誤的原因。

有關代碼示例和可能的用例的更詳細的答案,請在此處查看: 導入兩個具有相同名稱的類。 如何處理?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM