java中.java与.class区别是什么?

如题所述

.java文件你可以认为只是一个文本文件, 这个文件即是用java语言写成的程序,或者说任务的代码块。
.class文件本质上是一种二进制文件, 它一般是由.java文件通过 javac这个命令(jdk本身提供的工具)生成的一个文件, 而这个文件可以由jvm(java虚拟机)装载(类装载),然后进java解释执行, 这也就是运行你的程序。

你也可以这样比较一下:
.java与 .c , .cpp, .asm等等文件,本质 上一样的, 只是用一种 语言来描述你要怎么去完成一件事(一个任务), 而这种语言 计算机本身 是没有办法知道是什么含义的, 它面向的只是程序员本身, 程序员可以通过 语言本身(语法) 来描述或组织这个任务,这也就 是所谓的编程。 最后你当然是需要计算机按照你的意图来运行你的程序, 这时候就先得有一个翻译(编译, 汇编, 链接等等复杂的过程)把它变成机器可理解的指令(这就是大家说的机器语言,机器语言本身也是一种编程语言,只是程序很难写,很难读懂,基本上没有办法维护)。 这里的.class文件在计算的体系结构中本质上对应的是一种机器语言(而这里的机器叫作JVM),所以JVM本身是可以直接运行这里的.class文件。所以 你可以进一步地认为,.java与.class与其它的编程语法一样,它们都是程序员用来描述自己的任务的一种语言,只是它们面向的对象不一样,而计算机本身只能识别它自已定义的那些指令什么的(再次强调,这里的计算机本身没有那么严格的定义)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-11
*.java是源程序,也就是说,这是给我们程序员看的,*.class是编译后的代码,是给计算机看的。
目前为止,计算机只能识别二进制的代码,所以,必须要把源文件转换成计算机可以识别的二进制语言,所以在运行java程序的时候,必须要安装一个jdk,其实这个jdk就是一个翻译官,它会把我们写的源文件,也就是后缀为.java的文件编译成.class的文件,
希望可以帮到你本回答被网友采纳
相似回答