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
}
-
AccessSpecifer
peut êtrepublic
,privé
ouprotégé
en fonction de l’accessibilité du code. -
Le mot clé
class
est obligatoire pour définir une classe ; sinon, vous ne pouvez pas créer de classe. -
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. -
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 :
- Classes imbriquées statiques
- 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 is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn