Plusieurs classes dans un seul fichier en Java
- Utilisez les classes imbriquées pour avoir plusieurs classes dans un seul fichier en Java
- Utiliser plusieurs classes non imbriquées 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.