是由这个问题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。
Tidak akan ada amaran anda terlalu memikirkannya, kerana ruang nama
Calendar
anda (iaitu,package
) mestilah bukanjava.util
, bukan?Jadi, pengkompil mesti mengenal pasti konflik berdasarkan "ruang nama + nama kelas", jadi melainkan anda juga menulis
package
sebagaijava.util
. Jika tidak, saya fikir ia akan menjadi agak menggembirakan jika pengkompil melaporkan ralat/amaran!Saya baru belajar Java pagi tadi, dan kamu semua mengelirukan saya. Saya rasa saya tidak menjangka ia menjadi begitu rumit, tetapi saya hanya menulis nama kelas dan nama fail yang salah. Adalah normal bahawa tiada amaran dilaporkan dalam status ini Lagipun, ruang nama kelas ini berbeza daripada ruang nama kalendar java.