无心流泪 2019-08-08 20:12 采纳率: 50%
浏览 359
已采纳

为什么javac编译的j,当Java类不是public的时候,当出现文件名与class名不一致的时候不会报错?

为什么用javac编译的java源文件时,当Java类不是public的时候,当出现文件名与class名不一致的时候不会报错,public的就会报错?

  • 写回答

3条回答 默认 最新

  • threenewbee 2019-08-08 22:27
    关注

    java语言为了简单,通过文件系统来组织包的结构。这是约定。

    作为对比,C#就不这么要求。于是C# 采用 namespace 而不是文件系统来组织包名。

    我的一个猜想,是因为微软的windows系统不区分大小写文件名,而Linux/Unix区分,所以Java最初是*nix的,就这么做了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已采纳回答 3月21日

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)