.class vs .java
Asked Answered
C

7

51

What's the difference between a .class file and a .java file? I am trying to get my applet to work but currently I can only run it in Eclipse, I can't yet embed in HTML. Thanks

**Edit: How to compile with JVM then?

Clump answered 18/6, 2009 at 21:38 Comment(3)
regarding your edit... the JDK comes with a compiler called javac.Birr
okay so then run in terminal: javac myFile.javaClump
@Devoted: Yes. If it's a standalone app, you could then run: java myFile (or whatever you named the class, but it should be myFile).Nasion
R
63

A .class file is a compiled .java file.

.java is all text and is human readable.
.class is binary (usually).

You compile a java file into a class file by going to the command line, navigating to the .java file, and running

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

You must have a java SDK installed on your computer (get it from Oracle), and make sure the javac.exe file is locatable in your computer's PATH environment variable.

Also, check out Java's Lesson 1: Compiling & Running a Simple Program

If any of this is unclear, please comment on this response and I can help out :)

Rodd answered 18/6, 2009 at 21:46 Comment(1)
What do you mean when you say .class files are usually binary? When are they not?Manlove
C
32
  • .class -> compiled (for JVM)
  • .java -> source (for humans)
Covarrubias answered 18/6, 2009 at 21:40 Comment(0)
M
6

A .java file contains your Java source code while a .class file contains the Java bytecode produced by the Java compiler. It is your .class files that run on the JVM to execute a Java application.

It is the .class files you will use when you deploy your applet.

Mcmillian answered 18/6, 2009 at 21:40 Comment(0)
E
5

.java files are source files, while .class files are compiled (bytecode) classes.

Use javac to compile source into bytecode.

Enclosure answered 18/6, 2009 at 21:40 Comment(1)
dfa beat me to the punch by 22 seconds. ;)Enclosure
K
4

.java usually holds your code in clear text

.class contains the byte code of your .java. Think of it as a compiled version of the .java file

Kabuki answered 18/6, 2009 at 21:40 Comment(0)
L
2

person can be defined as a class Person. This class should reside in a Java source code file (Person.java). Using this Java source code file, the Java compiler (javac.exe on Windows or javac on Mac OS X/Linux/UNIX) generates bytecode (compiled code for the Java Virtual Machine) and stores it in Person.class.

Legionnaire answered 9/2, 2016 at 15:2 Comment(0)
V
2

Java files is an human readable language (for example, the code we write in Eclipse/any other IDE).

Class files are in byte-code compiled for Java Virtual Machine (JVM).

Vasti answered 25/11, 2016 at 9:42 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.