是由这个问题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。
Il n'y aura aucun avertissement. Vous y réfléchissez trop, car l'espace de noms de votre
Calendar
(c'est-à-direpackage
) ne doit pas êtrejava.util
, n'est-ce pas ?Ainsi, le compilateur doit identifier les conflits en fonction de "espace de noms + nom de classe", donc à moins que vous n'écriviez également
package
commejava.util
. Sinon, je pense qu'il serait un peu écrasant que le compilateur signale une erreur/un avertissement !Je viens d'apprendre Java ce matin, et vous m'avez confondu. J'ai l'impression que je ne m'attendais pas à ce que ce soit si compliqué, j'ai simplement mal écrit le nom de la classe et le nom du fichier. Il est normal qu'aucun avertissement ne soit signalé dans cet état. Après tout, l'espace de noms de cette classe est différent de l'espace de noms du calendrier Java.