搜尋

首頁  >  問答  >  主體

java - 类名和导入的类名冲突如何让编译器警告

是由这个问题https://segmentfault.com/q/1010000005725685引出的一个问题。

// Calendar.java
import java.text.DateFormatSymbols;
import java.util.*;

public class Calendar {
  public static void main(String[] args) {
    GregorianCalendar d = new GregorianCalendar();
  }
}

javac -Xlint Calendar.java编译时并没有报warning,是否有什么选项让编译器报warning。

黄舟黄舟2767 天前485

全部回覆(2)我來回復

  • 大家讲道理

    大家讲道理2017-04-18 09:16:53

    不會有警告的,你想太多了,因為你的Calendar的命名空间(就是package)肯定不是java.util吧?

    所以啊,編譯器識別衝突總得是根據“命名空間 + 類名”,所以除非你的把package也写成java.util。否則讓編譯器報錯/警告,我覺得有點強人所難!

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:16:53

    我上午才學java,被你們弄懵逼了。我覺得我沒想這麼複雜,就是簡單的把類別名稱和檔名寫錯了。目前這個狀態不報warning也正常,畢竟這個類別的命名空間和java calendar的命名空間是不一樣的。

    回覆
    0
  • 取消回覆