logo

Objekte und Klassen in Java

  1. Objekt in Java
  2. Klasse in Java
  3. Instanzvariable in Java
  4. Methode in Java
  5. Beispiel für ein Objekt und eine Klasse, die die Aufzeichnungen des Schülers verwaltet
  6. Anonymes Objekt

Auf dieser Seite erfahren Sie mehr über Java-Objekte und -Klassen. Bei der objektorientierten Programmiertechnik entwerfen wir ein Programm mithilfe von Objekten und Klassen.

Ein Objekt in Java ist sowohl eine physische als auch eine logische Entität, während eine Klasse in Java nur eine logische Entität ist.

Was ist ein Objekt in Java?

Objekt in Java

Eine Entität mit Zustand und Verhalten wird als Objekt bezeichnet, z. B. Stuhl, Fahrrad, Marker, Stift, Tisch, Auto usw. Es kann physisch oder logisch (materiell und immateriell) sein. Das Beispiel für einen immateriellen Gegenstand ist das Bankensystem.

Ein Objekt hat drei Eigenschaften:

    Zustand:stellt die Daten (den Wert) eines Objekts dar.Verhalten:stellt das Verhalten (Funktionalität) eines Objekts wie Einzahlung, Auszahlung usw. dar.Identität:Eine Objektidentität wird typischerweise über eine eindeutige ID implementiert. Der Wert der ID ist für den externen Benutzer nicht sichtbar. Es wird jedoch intern von der JVM verwendet, um jedes Objekt eindeutig zu identifizieren.
Eigenschaften von Objekten in Java

Beispielsweise ist der Stift ein Objekt. Sein Name ist Reynolds; Die Farbe ist weiß, was als Zustand bezeichnet wird. Es wird zum Schreiben verwendet, daher ist das Schreiben sein Verhalten.

Ein Objekt ist eine Instanz einer Klasse. Eine Klasse ist eine Vorlage oder Blaupause, aus der Objekte erstellt werden. Ein Objekt ist also die Instanz (das Ergebnis) einer Klasse.

Objektdefinitionen:

  • Ein Objekt ist eine reale Entität .
  • Ein Objekt ist eine Laufzeitentität .
  • Das Objekt ist eine Entität, die Zustand und Verhalten hat .
  • Das Objekt ist eine Instanz einer Klasse .

Was ist eine Klasse in Java?

Eine Klasse ist eine Gruppe von Objekten, die gemeinsame Eigenschaften haben. Es handelt sich um eine Vorlage oder Blaupause, aus der Objekte erstellt werden. Es ist eine logische Einheit. Es kann nicht körperlich sein.

Eine Klasse in Java kann Folgendes enthalten:

    Felder Methoden Konstrukteure Blöcke Verschachtelte Klasse und Schnittstelle
Klasse in Java

Syntax zum Deklarieren einer Klasse:

 class { field; method; } 

Instanzvariable in Java

Eine Variable, die innerhalb der Klasse, aber außerhalb der Methode erstellt wird, wird als Instanzvariable bezeichnet. Die Instanzvariable erhält zur Kompilierungszeit keinen Speicher. Es erhält zur Laufzeit Speicher, wenn ein Objekt oder eine Instanz erstellt wird. Aus diesem Grund wird sie als Instanzvariable bezeichnet.


Methode in Java

In Java ist eine Methode wie eine Funktion, die verwendet wird, um das Verhalten eines Objekts offenzulegen.

Vorteil der Methode

  • Wiederverwendbarkeit des Codes
  • Codeoptimierung

neues Schlüsselwort in Java

Das Schlüsselwort new wird verwendet, um zur Laufzeit Speicher zuzuweisen. Alle Objekte erhalten Speicher im Heap-Speicherbereich.


Objekt- und Klassenbeispiel: main innerhalb der Klasse

In diesem Beispiel haben wir eine Student-Klasse erstellt, die über zwei Datenelemente mit der ID und dem Namen verfügt. Wir erstellen das Objekt der Student-Klasse mit dem neuen Schlüsselwort und geben den Wert des Objekts aus.

Hier erstellen wir eine main()-Methode innerhalb der Klasse.

Datei: Student.java

 //Java Program to illustrate how to define a class and fields //Defining a Student class. class Student{ //defining fields int id;//field or data member or instance variable String name; //creating main method inside the Student class public static void main(String args[]){ //Creating an object or instance Student s1=new Student();//creating an object of Student //Printing values of the object System.out.println(s1.id);//accessing member through reference variable System.out.println(s1.name); } } 
Testen Sie es jetzt

Ausgabe:

 0 null 

Beispiel für Objekt und Klasse: main außerhalb der Klasse

Bei der Echtzeitentwicklung erstellen wir Klassen und verwenden sie aus einer anderen Klasse. Es ist ein besserer Ansatz als der vorherige. Sehen wir uns ein einfaches Beispiel an, in dem wir die Methode main() in einer anderen Klasse haben.

Java öffnet eine Datei

Wir können mehrere Klassen in verschiedenen Java-Dateien oder in einer einzelnen Java-Datei haben. Wenn Sie mehrere Klassen in einer einzigen Java-Quelldatei definieren, empfiehlt es sich, den Dateinamen mit dem Klassennamen zu speichern, der über die Methode main() verfügt.

Datei: TestStudent1.java

 //Java Program to demonstrate having the main method in //another class //Creating Student class. class Student{ int id; String name; } //Creating another class TestStudent1 which contains the main method class TestStudent1{ public static void main(String args[]){ Student s1=new Student(); System.out.println(s1.id); System.out.println(s1.name); } } 
Testen Sie es jetzt

Ausgabe:

 0 null 

3 Möglichkeiten, ein Objekt zu initialisieren

Es gibt drei Möglichkeiten, Objekte in Java zu initialisieren.

  1. Durch Referenzvariable
  2. Nach Methode
  3. Vom Konstrukteur

1) Objekt- und Klassenbeispiel: Initialisierung durch Referenz

Beim Initialisieren eines Objekts werden Daten im Objekt gespeichert. Sehen wir uns ein einfaches Beispiel an, in dem wir das Objekt über eine Referenzvariable initialisieren.

Datei: TestStudent2.java

 class Student{ int id; String name; } class TestStudent2{ public static void main(String args[]){ Student s1=new Student(); s1.id=101; s1.name='Sonoo'; System.out.println(s1.id+' '+s1.name);//printing members with a white space } } 
Testen Sie es jetzt

Ausgabe:

 101 Sonoo 

Wir können auch mehrere Objekte erstellen und darin Informationen über eine Referenzvariable speichern.

Datei: TestStudent3.java

 class Student{ int id; String name; } class TestStudent3{ public static void main(String args[]){ //Creating objects Student s1=new Student(); Student s2=new Student(); //Initializing objects s1.id=101; s1.name='Sonoo'; s2.id=102; s2.name='Amit'; //Printing data System.out.println(s1.id+' '+s1.name); System.out.println(s2.id+' '+s2.name); } } 
Testen Sie es jetzt

Ausgabe:

 101 Sonoo 102 Amit 

2) Objekt- und Klassenbeispiel: Initialisierung durch Methode

In diesem Beispiel erstellen wir die beiden Objekte der Student-Klasse und initialisieren den Wert für diese Objekte durch Aufrufen der Methode insertRecord. Hier zeigen wir den Status (Daten) der Objekte an, indem wir die Methode displayInformation() aufrufen.

Datei: TestStudent4.java

 class Student{ int rollno; String name; void insertRecord(int r, String n){ rollno=r; name=n; } void displayInformation(){System.out.println(rollno+' '+name);} } class TestStudent4{ public static void main(String args[]){ Student s1=new Student(); Student s2=new Student(); s1.insertRecord(111,'Karan'); s2.insertRecord(222,'Aryan'); s1.displayInformation(); s2.displayInformation(); } } 
Testen Sie es jetzt

Ausgabe:

 111 Karan 222 Aryan 
Objekt in Java mit Werten

Wie Sie in der obigen Abbildung sehen können, erhält das Objekt den Speicher im Heap-Speicherbereich. Die Referenzvariable bezieht sich auf das im Heap-Speicherbereich zugewiesene Objekt. Hier sind s1 und s2 beide Referenzvariablen, die auf die im Speicher zugewiesenen Objekte verweisen.


3) Beispiel für ein Objekt und eine Klasse: Initialisierung durch einen Konstruktor

Wir werden später etwas über Konstruktoren in Java lernen.


Beispiel für Objekt und Klasse: Mitarbeiter

Sehen wir uns ein Beispiel an, in dem wir Aufzeichnungen über Mitarbeiter führen.

Datei: TestEmployee.java

 class Employee{ int id; String name; float salary; void insert(int i, String n, float s) { id=i; name=n; salary=s; } void display(){System.out.println(id+' '+name+' '+salary);} } public class TestEmployee { public static void main(String[] args) { Employee e1=new Employee(); Employee e2=new Employee(); Employee e3=new Employee(); e1.insert(101,'ajeet',45000); e2.insert(102,'irfan',25000); e3.insert(103,'nakul',55000); e1.display(); e2.display(); e3.display(); } } 
Testen Sie es jetzt

Ausgabe:

 101 ajeet 45000.0 102 irfan 25000.0 103 nakul 55000.0 

Beispiel für Objekt und Klasse: Rechteck

Es wird ein weiteres Beispiel gegeben, das die Datensätze der Klasse „Rechteck“ verwaltet.

Datei: TestRectangle1.java

 class Rectangle{ int length; int width; void insert(int l, int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle1{ public static void main(String args[]){ Rectangle r1=new Rectangle(); Rectangle r2=new Rectangle(); r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } } 
Testen Sie es jetzt

Ausgabe:

 55 45 

Welche verschiedenen Möglichkeiten gibt es, ein Objekt in Java zu erstellen?

Es gibt viele Möglichkeiten, ein Objekt in Java zu erstellen. Sie sind:

  • Nach neuem Schlüsselwort
  • Mit der Methode newInstance()
  • Mit der Methode clone()
  • Durch Deserialisierung
  • Nach Fabrikmethode usw.

Wir werden diese Möglichkeiten zum Erstellen von Objekten später kennenlernen.

Verschiedene Möglichkeiten, ein Objekt in Java zu erstellen

Anonymes Objekt

Anonym bedeutet einfach namenlos. Ein Objekt, das keine Referenz hat, wird als anonymes Objekt bezeichnet. Es kann nur zum Zeitpunkt der Objekterstellung verwendet werden.

Wenn Sie ein Objekt nur einmal verwenden müssen, ist ein anonymes Objekt ein guter Ansatz. Zum Beispiel:

Bild mit CSS ausrichten
 new Calculation();//anonymous object 

Aufrufmethode über eine Referenz:

 Calculation c=new Calculation(); c.fact(5); 

Aufrufmethode über ein anonymes Objekt

 new Calculation().fact(5); 

Sehen wir uns das vollständige Beispiel eines anonymen Objekts in Java an.

 class Calculation{ void fact(int n){ int fact=1; for(int i=1;i<=n;i++){ fact="fact*i;" } system.out.println('factorial is '+fact); public static void main(string args[]){ new calculation().fact(5); calling method with anonymous object < pre> <p>Output:</p> <pre> Factorial is 120 </pre> <a id="objectbyonetype"></a> <h3>Creating multiple objects by one type only</h3> <p>We can create multiple objects by one type only as we do in case of primitives.</p> <p>Initialization of primitive variables:</p> <pre> int a=10, b=20; </pre> <p>Initialization of refernce variables:</p> <pre> Rectangle r1=new Rectangle(), r2=new Rectangle();//creating two objects </pre> <p>Let&apos;s see the example:</p> <pre> //Java Program to illustrate the use of Rectangle class which //has length and width data members class Rectangle{ int length; int width; void insert(int l,int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle2{ public static void main(String args[]){ Rectangle r1=new Rectangle(),r2=new Rectangle();//creating two objects r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } } </pre> <span> Test it Now </span> <p>Output:</p> <pre> 55 45 </pre> <h3>Real World Example: Account</h3> <p>File: TestAccount.java</p> <pre> //Java Program to demonstrate the working of a banking-system //where we deposit and withdraw amount from our account. //Creating an Account class which has deposit() and withdraw() methods class Account{ int acc_no; String name; float amount; //Method to initialize object void insert(int a,String n,float amt){ acc_no=a; name=n; amount=amt; } //deposit method void deposit(float amt){ amount=amount+amt; System.out.println(amt+&apos; deposited&apos;); } //withdraw method void withdraw(float amt){ if(amount <amt){ system.out.println('insufficient balance'); }else{ amount="amount-amt;" system.out.println(amt+' withdrawn'); } method to check the balance of account void checkbalance(){system.out.println('balance is: '+amount);} display values an object display(){system.out.println(acc_no+' '+name+' creating a test class deposit and withdraw testaccount{ public static main(string[] args){ a1="new" account(); a1.insert(832345,'ankit',1000); a1.display(); a1.checkbalance(); a1.deposit(40000); a1.withdraw(15000); }} < pre> <span> Test it Now </span> <p>Output:</p> <pre> 832345 Ankit 1000.0 Balance is: 1000.0 40000.0 deposited Balance is: 41000.0 15000.0 withdrawn Balance is: 26000.0 </pre></amt){></pre></=n;i++){>

Mehrere Objekte nur eines Typs erstellen

Wir können mehrere Objekte nur eines Typs erstellen, wie wir es bei Grundelementen tun.

Initialisierung primitiver Variablen:

 int a=10, b=20; 

Initialisierung von Referenzvariablen:

 Rectangle r1=new Rectangle(), r2=new Rectangle();//creating two objects 

Sehen wir uns das Beispiel an:

 //Java Program to illustrate the use of Rectangle class which //has length and width data members class Rectangle{ int length; int width; void insert(int l,int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle2{ public static void main(String args[]){ Rectangle r1=new Rectangle(),r2=new Rectangle();//creating two objects r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } } 
Testen Sie es jetzt

Ausgabe:

 55 45 

Beispiel aus der Praxis: Konto

Datei: TestAccount.java

 //Java Program to demonstrate the working of a banking-system //where we deposit and withdraw amount from our account. //Creating an Account class which has deposit() and withdraw() methods class Account{ int acc_no; String name; float amount; //Method to initialize object void insert(int a,String n,float amt){ acc_no=a; name=n; amount=amt; } //deposit method void deposit(float amt){ amount=amount+amt; System.out.println(amt+&apos; deposited&apos;); } //withdraw method void withdraw(float amt){ if(amount <amt){ system.out.println(\'insufficient balance\'); }else{ amount="amount-amt;" system.out.println(amt+\' withdrawn\'); } method to check the balance of account void checkbalance(){system.out.println(\'balance is: \'+amount);} display values an object display(){system.out.println(acc_no+\' \'+name+\' creating a test class deposit and withdraw testaccount{ public static main(string[] args){ a1="new" account(); a1.insert(832345,\'ankit\',1000); a1.display(); a1.checkbalance(); a1.deposit(40000); a1.withdraw(15000); }} < pre> <span> Test it Now </span> <p>Output:</p> <pre> 832345 Ankit 1000.0 Balance is: 1000.0 40000.0 deposited Balance is: 41000.0 15000.0 withdrawn Balance is: 26000.0 </pre></amt){>