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

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

黄舟
黄舟

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

répondre à tous(2)
大家讲道理

Il n'y aura aucun avertissement. Vous y réfléchissez trop, car l'espace de noms de votre Calendar (c'est-à-dire package) ne doit pas être java.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 comme java.util. Sinon, je pense qu'il serait un peu écrasant que le compilateur signale une erreur/un avertissement !

Peter_Zhu

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!