.class与.java的区别

50
一个.class文件是Java编译器编译.java文件的结果,而.java文件是包含Java源代码的文本文件。如果您正在尝试使applet工作但目前只能在Eclipse中运行它,则需要将编译后的.class文件嵌入到HTML中。要使用JVM编译,请使用javac命令。

2
关于您的编辑... JDK附带了一个名为javac的编译器。 - Fredrik
1
好的,那么在终端中运行:javac myFile.java - Devoted
@Devoted:可以的。如果它是一个独立的应用程序,你可以运行:java myFile(或者无论你给这个类命名的是什么,但应该是myFile)。 - Michael Myers
7个回答

62

.class文件是一个已编译的.java文件。

.java文件是全文本,可供人类阅读。
而.class文件是二进制的(通常如此)。

您可以通过进入命令行、导航到.java文件并运行相应命令来将java文件编译成class文件。

javac "c:\the\path\to\your\file\yourFileName.java"

你需要在电脑上安装Java SDK(可从Oracle获取),并确保javac.exe文件位于计算机的PATH环境变量中。

此外,查看Java的第一课:编译和运行简单程序

如果有任何不清楚的地方,请在此回复评论,我会帮忙解决 :)


当你说.class文件通常是二进制文件时,你的意思是什么?它们什么时候不是? - Mohit Motwani

32
  • .class -> 编译后的代码(适用于JVM)
  • .java -> 源代码(适用于人类阅读)

6

.java文件包含您的Java源代码,而.class文件包含Java编译器生成的Java字节码。正是您的.class文件在JVM上运行以执行Java应用程序。

在部署您的小程序时,您将使用.class文件。


4

.java文件是源文件,而.class文件是已编译的(字节码)类。

使用javac将源代码编译成字节码。


dfa比我快了22秒。 ;) - Malcolm

3

.java通常以明文形式保存您的代码

.class文件包含您的.java文件的字节码。将其视为.java文件的编译版本


1
人可以被定义为一个类Person。这个类应该存在于一个Java源码文件中(Person.java)。使用这个Java源码文件,Java编译器(在Windows上是javac.exe,在Mac OS X/Linux/UNIX上是javac)会生成字节码(Java虚拟机的编译代码)并将其存储在Person.class中。

1
Java文件是一种可读性强的编程语言(例如,在Eclipse / 任何其他IDE中编写的代码)。
类文件是为Java虚拟机(JVM)编译的字节码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接