急!急!急!Java中对类名大小写有什么要求?javac是否识别大小写?

haixidong 2010-07-18 01:11:33
public class Calculate
{
public static void main(String args[])
{
System.out.println(calculate.mul(5, 8));
}
}

class calculate
{
static double mul(float a, float b)
{
return a * b;
}
}

/**********************************************
public class Calculate
{
public static void main(String args[])
{
System.out.println(aa.mul(5, 8));
}
}

class aa
{
static double mul(float a, float b)
{
return a * b;
}
}
/***********************************************
这两个程序运行结果不同,运行第一个出现以下结果
抛出异常:java.lang.NoClassDeFoundError......
Could not foound the main class :Calculate

第二个运行正常。为什么?不识别类名的大小写吗?
...全文
798 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
haixidong 2010-07-18
  • 打赏
  • 举报
回复
懂了,谢谢大家了~
  • 打赏
  • 举报
回复
为了避免这种情况发生,建议类名使用名词性词组,每个单词的首字母大写。
  • 打赏
  • 举报
回复
这是 Windows 系统的关系,Windows 文件系统的文件名不区分大小写。

Calculate.java 编译之后会产生两个类文件:Calculate.class 和 calculate.class。这两个文件在 Windows 系统中重名,后者会覆盖掉前者。
Jclick 2010-07-18
  • 打赏
  • 举报
回复
Java的一些规定

1、若在源文件中定义了声明为public的类,需要将类所在的源文件的文件名取名为类名
2、在同一个源文件中有且只能有一个定义为public的类
3、编译时文件名大小写是不敏感的,执行的时候加载的类名是大小写敏感的

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧