黑马程序员技术交流社区
标题:
有一个关于dos指令的问题
[打印本页]
作者:
任增涛
时间:
2012-2-4 11:49
标题:
有一个关于dos指令的问题
各位,有一个特小的问题,一直没好意思问出。
是这样:
class Car
{
public static void main(String[] args)
{
}
}
就当这个是一个完整的程序,我把这个保存在一个文件夹里。名字叫做:Car.java
在dos编译的时候是这样的:javac car.java 也可以是javac Car.java 编译的时候名字是不区分大小写的!
但是在执行的时候必须是这样:java Car 名字一定要区分大小写的!
为什么呢?有点不理解!
作者:
马欢
时间:
2012-2-4 11:53
因为执行的时候是执行的类,类的首字母都是大写的。
作者:
陈时峰
时间:
2012-2-4 12:08
因为编译的时候是编译源文件,也就是 .java文件,在windows系统中文件名的大小写
是不区分的。而运行的时候是运行 .class文件,也就是类,在java中类名必须大写所以
java虚拟机会报错
作者:
张伟~
时间:
2012-2-4 12:21
java中类名必须大写吗?不一定
这应该只是种规范而已,在这里把类名改成car,然后把保存的文件名也改为car.java一样可以编译运行的。
为什么运行时一定要写Car还不是因为你类名Car而不是car
作者:
郭繁森
时间:
2012-2-4 13:26
java命名类名一般每个单词首字母大写
运行时要运行带有主函数的class类后的那个 名字----它大写运行时就要大写
作者:
易伟
时间:
2012-2-4 14:31
java是区分大小写的,.class文件是类源文件编译产生的,如果类名是car ,产生的就是car.class 如果类名是Car,产生的就是Car.class。
Car.class 和car.class是两个不同的类文件。这两个文件是可以同时存在的。
所以在运行的时候dos命令中必须区分大小写。要不然就不知道运行哪个文件了。
作者:
衣服
时间:
2012-2-4 17:53
简单的说 编译器只是翻译为class文件 而在windows下不区分大小写,运行是调用java虚拟机的 它是区分大小写的。
楼主可以去linux系统试试第一步就不行
作者:
吴超
时间:
2012-2-5 00:18
本帖最后由 wuchao2877 于 2012-2-5 00:26 编辑
根据你定义的来定,比如你class定义的是Car
javac Car.java生成一个class文件,
根据你定义的名字
然后输入 java Car
class文件区分大小写 类名与文件名一致
而java源文件不区分大小写
作者:
吴超
时间:
2012-2-5 00:19
如图 c{:soso_e181:}
QQ截图20120205001722.jpg
(4.68 KB, 下载次数: 28)
下载附件
2012-2-5 00:19 上传
作者:
彭沛东
时间:
2012-2-5 22:28
例:javac 文件名.java (这个归系统管、不区分大小写)
java 类名 (这个归java管,区分大小写)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2