Différence entre .java et .class

Shikha Chaudhary 12 octobre 2023
  1. Les bases de l’écriture d’un programme en Java
  2. le fichier .java en Java
  3. le fichier .class en Java
  4. Les différences entre les fichiers .java et .class
  5. Conclusion
Différence entre .java et .class

Java est un langage de programmation indépendant de la plate-forme. Cela implique un processus d’exécution en deux étapes au lieu de la compilation habituelle en une étape comme le langage C.

L’exécution de la première étape s’effectue à l’aide d’un compilateur, indépendant du système d’exploitation. L’exécution de la deuxième étape se fait à l’aide d’une machine virtuelle, également appelée JVM ou Java Virtual Machine.

Lors de l’exécution en deux étapes, les fichiers avec l’extension .java et .class se forment. Cet article examinera la différence fondamentale entre les fichiers .java et .class.

Les bases de l’écriture d’un programme en Java

Pour comprendre le concept de fichiers .java et .class, il faut savoir comment fonctionne un programme Java. Prenons le code suivant à titre d’exemple.

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");
  }
}

Suivez ces étapes pour exécuter ce programme.

  • Écrivez le code ci-dessus dans un éditeur de texte. Ensuite, enregistrez le fichier sous DemoProgram.java. Notez que le nom du fichier doit être le même que le nom de la classe.
  • Ouvrez la fenêtre d’invite de commande avec le chemin d’accès au répertoire où vous avez enregistré ce fichier.
  • Tapez cette commande - javac DemoProgram.java. Appuyez sur la touche Entrée. La commande javac compile un programme Java. Il prend un fichier .java en entrée et le transforme en un fichier de bytecode. Cette étape démarre la compilation du code. Le curseur passe à la ligne suivante une fois la compilation réussie sans erreur.
    C :\Users\PC > javac DemoProgram.java
    
  • Ensuite, tapez cette commande - java DemoJava. Nous n’utilisons pas .java avec le nom de fichier ici. La raison en est que la commande java prend le code d’octet en entrée et donne la sortie finale selon le code source. Pour faire simple, cette fois, DemoProgram n’est pas un fichier java mais un bytecode.
    C :\Users\PC > java DemoProgram
    
  • La commande ci-dessus exécute le programme et vous pouvez voir la sortie comme :
    Hello Java
    

Avant d’aller plus loin, notez les points suivants :

  • Le code source est le code qu’un programmeur écrit dans n’importe quel langage de programmation. Nous l’écrivons manuellement pour résoudre tout problème.

  • En Java, chaque programme constitue une classe. Il peut y avoir plus d’une classe dans un même programme selon le but de l’écriture du code. Comme dans l’exemple ci-dessus, il n’y a qu’une seule classe appelée DemoProgram.

Nous créons un fichier texte dans la section ci-dessus et l’enregistrons avec l’extension .java. C’est le fichier source qui passe par le compilateur.

Cela encode le code source dans un encodage indépendant de la machine. Ceci est appelé Bytecode.

Comme mentionné précédemment, un programme peut avoir une ou plusieurs classes. Ainsi lors de l’encodage, le contenu de chaque classe va séparément dans un fichier .class différent.

Ensuite, ces fichiers peuvent ensuite s’exécuter sur n’importe quel système car ils sont indépendants de la machine ou du système d’exploitation.

Avez-vous vu quand les fichiers .java et .class sont entrés en scène ? Le fichier .java se forme lorsque nous enregistrons un code source avec cette extension. Le fichier .class se forme lors de la compilation.

le fichier .java en Java

Le fichier .java n’est rien d’autre que le code source lui-même en Java.

En termes simples, c’est le fichier contenant le code que nous écrivons. Nous pouvons utiliser un simple éditeur de texte ou n’importe quel IDE pour écrire un programme Java.

Quoi que nous utilisions, nous sauvegardons le programme ou le code source que nous avons écrit. Pour enregistrer un fichier de code source Java, nous utilisons l’extension .java.

Chaque langue a une convention différente d’enregistrement du fichier de code source. Comme dans le langage C, le fichier de code source porte l’extension .c ; en python, c’est .py, et en C++, on utilise .cpp.

le fichier .class en Java

Le fichier .class est le fichier qui contient le byte code d’une classe dans le code source. Ce fichier est formé lors de la compilation.

Lorsque nous avons mentionné que Java est un langage indépendant de la plate-forme, c’est à cause de ces fichiers de classe. Ces fichiers peuvent fonctionner sur n’importe quel système d’exploitation ou machine.

Un fichier .class peut être considéré comme un fichier .java compilé. C’est le fichier qui s’exécute sur la JVM (Java Virtual Machine).

Le nombre de fichiers .class n’est pas forcément égal à un. Il est égal au nombre de classes d’un code source car chaque classe va dans un fichier .class différent après compilation.

Exemple 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");
  }
}

Production :

C:\Users\PC>javac DemoProgram.java
    
C:\Users\PC>java DemoProgram    
Hello Java

Dans ce code, il n’y a qu’une seule classe, DemoProgram. Ainsi, nous n’obtenons qu’un seul fichier .class, DemoProgram, du fait de la compilation.

Maintenant, regardons un autre exemple.

Exemple 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.");
  }
}

Compilez le fichier :

C :\Users\PC > javac Example.java

Après compilation, on obtient non pas un mais trois fichiers .class en sortie. Ainsi, vous pouvez voir qu’il y a autant de fichiers .class que de classes dans le code source.

Nous pouvons exécuter chaque fichier .class séparément comme suit :

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.

Les différences entre les fichiers .java et .class

La différence entre ces deux types de fichiers est résumée dans le tableau suivant.

Fichier .java Fichier .class
Il contient le code source Java. Il contient le code Java Byte.
Un programmeur ou un individu l’écrit. Il se forme à la suite de la compilation d’un fichier .java.
Il est lisible par l’homme. Il est utilisé dans JVM pour l’exécution du programme.
Il se forme avant un fichier .class. Sans cela, un fichier de classe ne peut pas être formé. Il se forme toujours après un fichier .java.
Nous pouvons écrire ceci sur n’importe quel éditeur de texte ou Java IDE. Nous pouvons l’exécuter sur n’importe quel système d’exploitation ou machine.

Conclusion

Cet article nous a appris la principale différence entre un fichier .java et un fichier .class. Nous avons également vu comment un programme Java s’exécute au niveau de la machine et de l’utilisateur.

Ce concept est à la base de la programmation Java, et il est important de le comprendre pour exécuter efficacement les programmes et applications Java.

Article connexe - Java File

Article connexe - Java Class