java - 类名和导入的类名冲突如何让编译器警告
黄舟
黄舟 2017-04-18 09:14:53
0
2
481

是由这个问题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。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(2)
大家讲道理

Tidak akan ada amaran anda terlalu memikirkannya, kerana ruang nama Calendar anda (iaitu, package) mestilah bukan java.util, bukan?

Jadi, pengkompil mesti mengenal pasti konflik berdasarkan "ruang nama + nama kelas", jadi melainkan anda juga menulis package sebagai java.util. Jika tidak, saya fikir ia akan menjadi agak menggembirakan jika pengkompil melaporkan ralat/amaran!

Peter_Zhu

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!