Innere Klasse und statisch verschachtelte Klasse in Java
Java ist eine reine objektorientierte Programmiersprache. Sie können keine Programme ohne Klasse erstellen.
Klasse in Java
Eine Klasse ist eine Blaupause oder ein Prototyp, der eine Reihe von Methoden und Eigenschaften darstellt, auf die das Klassenobjekt zugreifen kann. Lassen Sie es uns anhand eines realen Beispiels verstehen.
Student
ist eine Klasse, die einige Eigenschaften und Methoden wie student name
, student roll no
, cal_gpa()
, cal_fee()
hat. Dies sind einige gemeinsame Eigenschaften für jeden Studenten an einem College oder einer Universität.
Es ist für uns einfach, eine Klasse zu erstellen, alle erforderlichen Eigenschaften zu definieren und mit dem Objekt der Klasse für jeden Schüler darauf zuzugreifen.
Codebeispiel:
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();
}
}
Ausgabe:
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.
Wir haben den Entwurf der Schüler als Klasse mit grundlegenden Informationen über sie wie Name, Rollennummer, CGPA und Gebühr definiert. Jetzt können wir diese Eigenschaften und Methoden für jeden Schüler aufrufen, anstatt sie alle für jeden Schüler zu definieren.
Wie Sie sehen, haben wir zwei Objekte Jinku
und Zeeshan
erstellt und die Eigenschaften und Methoden der Klasse Student
für diese Objekte aufgerufen.
Struktur einer Klasse in Java
Java ist eine stark objektorientierte Programmiersprache; selbst eine einzige Codezeile erfordert eine Klasse und die Methode main
.
Syntax einer Klasse:
AccessSpecifer classKeyword ClassName{
//Class body
}
Beispiel:
Public class Student {
// Class body
}
-
AccessSpecifer
kann je nach Zugänglichkeit des Codespublic
,private
oderprotected
sein. -
Das Schlüsselwort
class
ist obligatorisch, um eine Klasse zu definieren; Andernfalls können Sie keine Klasse erstellen. -
ClassName
ist auch obligatorisch, um eine Klasse zu erstellen. Best Practices und Leitfäden besagen, dass die Namen aussagekräftig sein sollten, um den Code leichter verständlich und lesbarer zu machen. -
Klassenkörper
sind die Grenzen oder Grenzen der Klasse. Sie können Variablen und Methoden innerhalb des Klassenkörpers definieren.Der Klassenkörper beginnt mit
{
und endet mit}
.
Arten von verschachtelten Klassen in Java
Eine verschachtelte Klasse bezieht sich auf eine Klasse innerhalb einer anderen Klasse. Das Phänomen ähnelt verschachtelten Bedingungen und Schleifen.
Mit Java können Sie verschachtelte Klassen erstellen. Es ermöglicht Ihnen, Klassen, die an einem Ort verwendet werden, logisch zu gruppieren, und es erhöht auch die Verwendung von Kapselung.
Syntax einer verschachtelten Klasse:
class OuterClass { // OuterClass
Class InnerClass { // InnerClass }
}
In Java gibt es zwei Arten von verschachtelten Klassen. Dies sind die folgenden:
- Statische verschachtelte Klassen
- Innere Klassen
Statisch verschachtelte Klassen in Java
Eine statisch verschachtelte Klasse wird als statisches Mitglied ihrer äußeren Klasse mit dem Schlüsselwort static
definiert. Auf eine statisch verschachtelte Klasse kann zugegriffen werden, ohne die äußere Klasse mit anderen statischen Membern zu instanziieren.
Ähnlich wie andere statische Member hat eine statische Klasse keinen Zugriff auf die Methoden und Instanzvariablen ihrer äußeren Klasse.
Codebeispiel:
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();
}
}
Ausgabe:
This is a static nested class.
Innere Klassen in Java
Sicherheit hat bei fast jeder Software oder Organisation immer oberste Priorität. Java ist bekannt für seine Sicherheit, und die innere Klasse ist eine der Komponenten, die uns dabei helfen, diese Sicherheitsstandards zu erreichen.
Um auf die innere Klasse zuzugreifen, müssen Sie zuerst ein Objekt der äußeren Klasse erstellen und dann mit diesem Objekt das Objekt der inneren Klasse erstellen.
Im Gegensatz zu einer normalen oder einfachen Klasse hat eine innere Klasse die Berechtigung, auf die protected
und private
angegebenen Eigenschaften und Methoden zuzugreifen. Sie können die innere Klasse auch als privat
deklarieren, wenn Sie nicht möchten, dass externe Objekte auf die innere Klasse zugreifen.
Codebeispiel:
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();
}
}
Ausgabe:
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