Diferencia entre .java y .class
- Conceptos básicos para escribir un programa en Java
-
El archivo
.java
en Java -
El archivo
.class
en Java -
Las diferencias entre los archivos
.java
y.class
- Conclusión
Java es un lenguaje de programación independiente de la plataforma. Implica un proceso de ejecución de dos pasos en lugar de la compilación habitual de un paso como el lenguaje C.
La ejecución del primer paso se lleva a cabo utilizando un compilador, independiente del sistema operativo. La ejecución del segundo paso se lleva a cabo con la ayuda de una máquina virtual, también llamada JVM o Java Virtual Machine.
Durante la ejecución en dos pasos, se forman archivos con la extensión .java
y .class
. Este artículo analizará la diferencia básica entre los archivos .java
y .class
.
Conceptos básicos para escribir un programa en Java
Para comprender el concepto de archivos .java
y .class
, uno debe saber cómo se ejecuta un programa Java. Veamos el siguiente código como ejemplo.
public class DemoProgram {
/* This is a demo Java program that will print 'Hello Java' as the output */
public static void main(String[] args) {
System.out.println("Hello Java");
}
}
Siga estos pasos para ejecutar este programa.
-
Escriba el código anterior en un editor de texto. Luego, guarde el archivo como
DemoProgram.java
. Tenga en cuenta que el nombre del archivo debe ser el mismo que el nombre de la clase. -
Abra la ventana del símbolo del sistema con la ruta al directorio donde guardó este archivo.
-
Escriba este comando -
javac DemoProgram.java
. Pulse la tecla Intro. El comandojavac
compila un programa Java. Toma un archivo.java
como entrada y lo cambia a un archivo de código de bytes. Este paso inicia la compilación del código. El cursor se mueve a la siguiente línea una vez que la compilación se realiza correctamente y sin errores.C :\Users\PC > javac DemoProgram.java
-
Luego, escribe este comando -
java DemoJava
. Aquí no usamos.java
con el nombre del archivo. La razón es que el comandojava
toma el código de bytes como entrada y da la salida final según el código fuente. En pocas palabras, esta vez,DemoProgram
no es un archivo Java sino un código de bytes.C :\Users\PC > java DemoProgram
-
El comando anterior hace que el programa se ejecute, y puede ver el resultado como:
Hello Java
Antes de continuar, tenga en cuenta los siguientes puntos:
-
El código fuente es el código que escribe un programador en cualquier lenguaje de programación. Lo escribimos manualmente para solucionar cualquier problema.
-
En Java, cada programa constituye una
class
. Puede haber más de una clase en un solo programa dependiendo del propósito de escribir el código. Como en el ejemplo anterior, solo hay una única clase llamadaDemoProgram
.
Hacemos un archivo de texto en la sección de arriba y lo guardamos con la extensión .java
. Este es el archivo fuente que pasa a través del compilador.
Esto codifica el código fuente en una codificación que es independiente de la máquina. Esto se llama Bytecode
.
Como ya se mencionó, un programa puede tener una o más clases. Por lo tanto, durante la codificación, el contenido de cada clase va por separado en un archivo .class
diferente.
Luego, estos archivos pueden ejecutarse en cualquier sistema, ya que son independientes de la máquina o del sistema operativo.
¿Viste cuando los archivos .java
y .class
entran en escena? El archivo .java
se forma cuando guardamos un código fuente con esta extensión. El archivo .class
se forma cuando se realiza la compilación.
El archivo .java
en Java
El archivo .java
no es más que el propio código fuente en Java.
En pocas palabras, es el archivo que contiene el código que escribimos. Podemos usar un editor de texto simple o cualquier IDE para escribir un programa Java.
Cualquier cosa que usemos, guardamos el programa o el código fuente que hemos escrito. Para guardar un archivo de código fuente de Java, usamos la extensión .java
.
Cada idioma tiene una convención diferente para guardar el archivo de código fuente. Al igual que en el lenguaje C, el archivo de código fuente tiene la extensión .c
; en python, es .py
, y en C++, usamos .cpp
.
El archivo .class
en Java
El archivo .class
es el archivo que contiene el código de bytes de una clase en el código fuente. Este archivo se forma cuando tiene lugar la compilación.
Cuando mencionamos que Java es un lenguaje independiente de la plataforma, se debe a estos archivos de clase. Estos archivos pueden ejecutarse en cualquier sistema operativo o máquina.
Un archivo .class
puede considerarse un archivo .java
compilado. Es el archivo que se ejecuta en la JVM (Java Virtual Machine).
El número de archivos .class
no tiene por qué ser necesariamente uno. Es igual al número de clases que tiene un código fuente, ya que cada clase va a un archivo .class
diferente después de la compilación.
Ejemplo 1:
public class DemoProgram {
/* This is a demo Java program that will print 'Hello Java' as the output */
public static void main(String[] args) {
System.out.println("Hello Java");
}
}
Producción :
C:\Users\PC>javac DemoProgram.java
C:\Users\PC>java DemoProgram
Hello Java
En este código, solo hay una clase, DemoProgram
. Entonces, solo obtenemos un archivo .class
, DemoProgram
, debido a la compilación.
Ahora, veamos otro ejemplo.
Ejemplo 2:
// A class
class TestCase {
public static void main(String[] args) {
System.out.println("An example with multiple classes.");
}
}
// Another class
class Demo {
public static void main(String[] args) {
System.out.println("This is an example.");
}
}
// One more class
class Example {
public static void main(String[] args) {
System.out.println("It contains three classes.");
}
}
Compile el archivo:
C :\Users\PC > javac Example.java
Después de la compilación, obtenemos no uno sino tres archivos .class
como salida. Por lo tanto, puede ver que hay tantos archivos .class
como clases en el código fuente.
Podemos ejecutar cada archivo .class
por separado de la siguiente manera:
C :\Users\PC > java TestCase An example with multiple classes.
C :\Users\PC
> java Demo This is an example.
C :\Users\PC
> java Example It contains three classes.
Las diferencias entre los archivos .java
y .class
La diferencia entre estos dos tipos de archivos se resume en la siguiente tabla.
Archivo .java |
Archivo .clase |
---|---|
Contiene el código fuente de Java. | Contiene el código Java Byte. |
Un programador o un individuo lo escribe. | Se forma como resultado de la compilación de un archivo .java . |
Es legible por humanos. | Se utiliza en JVM para la ejecución del programa. |
Se forma antes de un archivo .class . Sin esto, no se puede formar un archivo de clase. |
Siempre se forma después de un archivo .java . |
Podemos escribir esto en cualquier editor de texto o IDE de Java. | Podemos ejecutar esto en cualquier sistema operativo o máquina. |
Conclusión
Este artículo nos enseñó la principal diferencia entre un archivo .java
y un archivo .class
. También vimos cómo un programa Java se ejecuta a nivel de máquina y de usuario.
Este concepto está en la base de la programación Java y es importante comprenderlo para ejecutar programas y aplicaciones Java de manera eficiente.
Artículo relacionado - Java File
- Cómo eliminar los saltos de línea de un archivo en Java
- Cerrar un archivo en Java
- Archivos comprimidos en Java
- Comparar contenido de dos archivos en Java
- Crear y ejecutar un archivo JAR de Java
- Eliminar archivos en un directorio usando Java