Plusieurs classes dans un seul fichier en Java

Siddharth Swami 12 octobre 2023
  1. Utilisez les classes imbriquées pour avoir plusieurs classes dans un seul fichier en Java
  2. Utiliser plusieurs classes non imbriquées dans un seul fichier en Java
Plusieurs classes dans un seul fichier en Java

Nous allons discuter de plusieurs classes dans un seul fichier en Java dans cet article.

Il existe de nombreuses façons de déclarer plusieurs classes dans un seul fichier. Nous discuterons de deux manières standard de mettre en œuvre cela.

Utilisez les classes imbriquées pour avoir plusieurs classes dans un seul fichier en Java

Dans cette méthode, les classes sont définies au sein de la classe. Cette méthode permet de regrouper logiquement les classes à n’utiliser qu’à un seul endroit.

Ceux-ci sont divisés en deux catégories. La première est la classe imbriquée statique qui est déclarée statique, et l’autre est la classe interne du type non statique.

Le code ci-dessous illustre cette méthode.

class Outer_Class {
  // static member
  static int x = 20;

  // instance(non-static) member
  int y = 20;
  private static int outer_private = 40;

  // static nested class
  static class StaticNestedClass {
    void display() {
      System.out.println("outer_x = " + x);
      System.out.println("outer_private = " + outer_private);
    }
  }
}

public class NestedDemo {
  public static void main(String[] args) {
    // accessing a static nested class
    Outer_Class.StaticNestedClass nestedObject = new Outer_Class.StaticNestedClass();

    nestedObject.display();
  }
}

Production:

outer_x = 20
outer_private = 40

Utiliser plusieurs classes non imbriquées dans un seul fichier en Java

Nous pouvons également avoir plusieurs classes non imbriquées dans un seul fichier en Java.

Nous comprendrons mieux cela avec l’exemple suivant.

public class Phone {
  Phone() {
    System.out.println("Constructor of phone class.");
  }
  void phone_method() {
    System.out.println("Phone battery is low");
  }
  public static void main(String[] args) {
    Phone p = new Phone();
    Laptop l = new Laptop();
    p.phone_method();
    l.laptop_method();
  }
}
class Laptop {
  Laptop() {
    System.out.println("Constructor of Laptop class.");
  }
  void laptop_method() {
    System.out.println("Laptop battery is low");
  }
}

Production:

Constructor of phone class.
Constructor of Laptop class.
Phone battery is low
Laptop battery is low

Dans l’exemple ci-dessus, le programme se compose de deux classes, la première est la classe Phone et la seconde est la classe Laptop.

Les deux classes ont des constructeurs et une méthode pour exécuter une fonction. Lorsque nous exécutons notre programme, deux fichiers .class sont créés pour les deux classes. On peut réutiliser le fichier .class sans recompiler le code. Dans la sortie, nous pouvons voir que notre code a été exécuté avec succès.

Article connexe - Java Class