Classe interne et classe imbriquée statique en Java

Zeeshan Afridi 12 octobre 2023
  1. Classe en Java
  2. Structure d’une classe en Java
  3. Types de classes imbriquées en Java
Classe interne et classe imbriquée statique en Java

Java est un langage de programmation purement orienté objet. Vous ne pouvez pas créer de programmes sans classe.

Classe en Java

Une classe est un plan directeur ou un prototype représentant un ensemble de méthodes et de propriétés auxquelles l’objet de classe peut accéder. Comprenons-le à travers un exemple concret.

Student est une classe qui a des propriétés et des méthodes comme student name, student roll no, cal_gpa(), cal_fee(). Ce sont des propriétés communes à tous les étudiants d’un collège ou d’une université.

Il nous est facile de créer une classe, de définir toutes les propriétés requises et d’y accéder avec l’objet de la classe pour chaque étudiant.

Exemple de code :

package articlecodesinjava;
class Student {
  String name;
  int rollNumber;

  void cal_gpa() {
    System.out.println("The method calculates CGPA.");
  }
  void cal_fee() {
    System.out.println("The method calculates the Semester fee.");
  }
}

public class ArticleCodesInJava {
  public static void main(String[] args) {
    // creating objects of Student class
    Student Jinku = new Student();
    Student Zeeshan = new Student();

    System.out.println("This is Jinku's details.");
    System.out.println(Jinku.name = "Jinku");
    System.out.println(Jinku.rollNumber = 1);
    Jinku.cal_fee();
    Jinku.cal_gpa();

    System.out.println("\n\nThis is Zeeshan's details.");
    System.out.println(Zeeshan.name = "Zeeshan Afridi");
    System.out.println(Zeeshan.rollNumber = 2);
    Jinku.cal_fee();
    Jinku.cal_gpa();
  }
}

Production:

This is Jinku's details.
Jinku
1
The method calculates the Semester fee.
The method calculates CGPA.


This is Zeeshan's details.
Zeeshan Afridi
2
The method calculates the Semester fee.
The method calculates CGPA.

Nous avons défini le plan des étudiants comme une classe avec des informations de base à leur sujet comme le nom, le numéro de matricule, l’ACMG et les frais. Maintenant, nous pouvons appeler ces propriétés et méthodes pour chaque élève au lieu de les définir toutes pour chaque élève.

Comme vous pouvez le voir, nous avons créé deux objets, Jinku et Zeeshan, et appelé les propriétés et méthodes de la classe Student pour ces objets.

Structure d’une classe en Java

Java est un langage de programmation fortement orienté objet ; même une seule ligne de code nécessite une classe et la méthode main.

Syntaxe d’une classe :

AccessSpecifer classKeyword ClassName{
    //Class body
}

Exemple:

Public class Student {
  // Class body
}
  1. AccessSpecifer peut être public, privé ou protégé en fonction de l’accessibilité du code.

  2. Le mot clé class est obligatoire pour définir une classe ; sinon, vous ne pouvez pas créer de classe.

  3. ClassName est également obligatoire pour créer une classe. Les meilleures pratiques et les guides indiquent que les noms doivent être significatifs, ce qui rend le code plus facile à comprendre et plus lisible.

  4. Class body désigne les frontières ou les limites de la classe. Vous pouvez définir des variables et des méthodes dans le corps de la classe.

    Le corps de la classe commence par { et se termine par }.

Types de classes imbriquées en Java

Une classe imbriquée fait référence à une classe dans une autre classe. Le phénomène est similaire aux conditions imbriquées et aux boucles.

Java vous permet de créer des classes imbriquées. Cela vous permet de regrouper logiquement les classes utilisées à un seul endroit, et cela augmente également l’utilisation de l’encapsulation.

Syntaxe d’une classe imbriquée :

class OuterClass { // OuterClass
  Class InnerClass { // InnerClass }
  }

En Java, il existe deux types de classes imbriquées. Ce sont les suivants :

  1. Classes imbriquées statiques
  2. Classes internes

Classes imbriquées statiques en Java

Une classe imbriquée statique est définie comme un membre statique de sa classe externe avec le mot-clé static. Une classe imbriquée statique est accessible sans instancier la classe externe à l’aide d’autres membres statiques.

Semblable à d’autres membres statiques, une classe statique n’a pas accès aux méthodes et aux variables d’instance de sa classe externe.

Exemple de code :

public class OuterClass {
  static class NestedStaticClass { // Outer class
    public void my_method() { // Inner class
      System.out.println("This is a static nested class.");
    }
  }

  public static void main(String args[]) { // Main function
    // object of nested class
    NestedStaticClass ob = new NestedStaticClass();
    ob.my_method();
  }
}

Production:

This is a static nested class.

Classes internes en Java

La sécurité est toujours la priorité absolue de presque tous les logiciels ou organisations. Java est bien connu pour sa sécurité, et la classe interne est l’un des composants qui nous aident à atteindre ces normes de sécurité.

Pour accéder à la classe interne, vous devez d’abord créer un objet de la classe externe, puis en utilisant cet objet, vous pouvez créer l’objet de la classe interne.

Contrairement à une classe régulière ou simple, une classe interne a le droit d’accéder aux propriétés et méthodes spécifiées protected et private. De plus, vous pouvez déclarer la classe interne comme private si vous ne souhaitez pas que des objets externes accèdent à la classe interne.

Exemple de code :

public class OuterClass {
  class NestedStaticClass { // Outer class

    public void my_method() { // Inner class
      System.out.println("This is a nested inner class.");
    }
  }

  public static void main(String args[]) { // Main function
    // object of nested class

    OuterClass OuterObj = new OuterClass();
    OuterClass.NestedStaticClass obj = OuterObj.new NestedStaticClass();
    obj.my_method();
  }
}

Production:

This is a nested inner class.
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

Article connexe - Java Class