java class vs object how use class
In diesem Tutorial werden wir eines der OOPS-Konzepte im Detail diskutieren. Wir werden alles über Java-Klasse und -Objekt zusammen mit Beispielen untersuchen:
Wir wissen, dass die objektorientierte Programmierung Daten betont und sich daher um Entitäten dreht, die als Objekte bezeichnet werden. Klassen dienen als Blaupausen dieser Objekte.
Lassen Sie uns sehen, wie eine Klasse und ihre Komponenten erstellt werden. Wir werden auch lernen, Objekte in Java mithilfe von Programmierbeispielen später in diesem Tutorial zu erstellen und zu initialisieren.
=> Besuchen Sie hier für die exklusive Java Training Tutorial-Reihe.
Was du lernen wirst:
Klassen und Objekte in Java
In Java sind alle Features, Attribute, Methoden usw. mit Klassen und Objekten verknüpft. Wir können ein Java-Programm nicht nur mit der Hauptfunktion schreiben, ohne eine Klasse so zu deklarieren, wie wir es in C ++ tun können.
Beispielsweise, Wenn wir ein Programm für ein Fahrzeug schreiben möchten, ist ein Fahrzeug ein Echtzeitobjekt. Es gibt jedoch verschiedene Arten von Fahrzeugen. Dies bedeutet, dass das Fahrzeug über ein Typattribut verfügt, das verschiedene Werte wie Auto, LKW, Roller, Fahrrad usw. annehmen kann.
Die Art und Weise, wie wir das Fahrzeugobjekt in Java ausdrücken, besteht darin, eine Klasse „Fahrzeug“ zu erstellen und dann die verschiedenen Attribute zu definieren. Dann können wir verschiedene Objekte der Fahrzeugklasse wie Auto, Fahrrad usw. deklarieren.
Innerhalb der Klasse können wir die Eigenschaften von Vehicle als Klassenattribute (Datenelemente) und Methoden wie startVehicle (), stopVehicle () usw. definieren.
Auf diese Weise müssen wir zuerst das Objekt identifizieren und dann seinen Entwurf oder eine Klasse definieren, um selbst die kleinste Entität in Java auszudrücken.
Lassen Sie uns also zuerst alles über Klassen und Objekte lernen und dann zu den anderen Konzepten von OOP in Java übergehen.
Klasse in Java
Um ein Programm in Java zu entwickeln, verwenden wir Objekte und Klassen. Während eine Klasse in Java nur eine logische Einheit ist, ist ein Objekt in Java sowohl eine physische als auch eine logische Einheit.
Was ist ein Objekt in Java?
Ein Objekt ist eine Entität, die einen Status hat und Verhalten zeigt. Beispielsweise, Jedes reale Wesen wie ein Stift, ein Laptop, ein Handy, ein Tisch, ein Stuhl, ein Auto usw. ist ein Objekt. Alle diese Objekte sind entweder physisch (materiell) oder logisch (immateriell).
Die immateriellen Objekte sind meistens ein Airline-System, ein Bankensystem usw. Dies sind logische Einheiten, die einen bestimmten Zustand und ein bestimmtes Verhalten haben.
Jedes Objekt hat die folgenden Hauptmerkmale:
- Identität: Eine eindeutige ID definiert die Objektidentität. Diese ID wird vom normalen Benutzer nicht gesehen, aber intern verwendet JVM diese ID, um das Objekt eindeutig zu identifizieren.
- Zustand: Es definiert die aktuellen Daten im Objekt oder den Wert des Objekts.
- Verhalten: Diese Funktion repräsentiert die Funktionalität (das Verhalten) eines Objekts. Beispielsweise, Das oben diskutierte Fahrzeugobjekt hat das Verhalten Start, Stopp usw.
Wir werden die Objektdefinition erneut betrachten, wenn wir die Klasse definieren.
Was ist eine Klasse?
Wir wissen, dass die Hauptkomponente der objektorientierten Programmierung ein Objekt ist. Wenn wir einen bestimmten Objekttyp erstellen möchten, benötigen wir eine Blaupause. Diese Blaupause enthält eine Reihe von Anweisungen, die uns beim Erstellen eines Objekts helfen.
Beispielsweise, Nehmen wir an, wir wollen ein Haus bauen. Das Haus hier ist ein Objekt. Um ein Haus zu bauen, benötigen wir einen ersten Entwurf für das Haus. Wir können das Haus nicht direkt bauen, wie es uns gefällt.
Hier kommt die Klasse ins Spiel. Um ein Objekt oder eine reale Entität zu erstellen, haben wir zunächst eine Blaupause, die den Inhalt und das Verhalten eines Objekts bestimmt. Dies ist als Klasse in der objektorientierten Programmierung bekannt.
Eine Klasse kann also definiert werden als „ eine Blaupause oder eine Vorlage, die den Status und das Verhalten des Objekts definiert ”.
Wir können die Klasse auch als eine Gruppe von Objekten anzeigen. Diese Gruppe hat einige Eigenschaften, die allen Objekten gemeinsam sind.
Mal sehen, wie man eine Klasse in Java erstellt.
So erstellen Sie eine Klasse in Java
Die allgemeine Klassensyntax einer Klassendefinition in Java lautet:
class extends implements interface_name> { //fields; //constructors //methods; //blocks }
Die obige allgemeine Deklaration einer Klasse ist im folgenden Diagramm mit einer beispielhaften Klassendeklaration dargestellt:
Beachten Sie, dass Oberklasse und Schnittstelle in der Klassendeklaration optional sind. Wir können uns für eine eigenständige Klasse entscheiden, ohne sie von einer anderen Oberklasse zu erweitern oder eine Schnittstelle zu implementieren.
Die obige allgemeine Definition zeigte auch die Komponenten, die in der Klassendefinition vorhanden sein können.
Komponenten der Klasse
Die Komponenten der Klasse sind unten dargestellt.
Wie im obigen Diagramm gezeigt, enthält eine Java-Klasse die folgenden Komponenten:
- Felder
- Methoden
- Konstruktoren
- Blöcke
- Verschachtelte Klasse und Schnittstelle
Wir werden als nächstes die ersten drei Komponenten diskutieren. Diese Komponenten werden in jeder Klasse benötigt. Verschachtelte Klassen und Schnittstellen sind ein völlig anderes Thema und werden in unseren späteren Tutorials behandelt.
Bevor wir mit einer Diskussion über Klassenkomponenten beginnen, definieren wir zunächst eine Klasse Customer_Account
class Customer_Account { static String bank_name; //class variable long customer_accountNo; //instance variable String customer_name; //instance variable //constructor Customer_Account (long accountnum, String accName){ customer_accountNo = accountnum; customer_name = accName; } //method void printInfo(){ System.out.println ('Customer Account Details:'); System.out.println ('Customer Account Number: ' + customer_accountNo); System.out.println (' Customer Name: '+customer_name); } }
Felder
Felder sind Variablen oder Daten der Klasse. Felder werden in Java auch als Elementvariablen bezeichnet. Wir verwenden die Begriffe Feld und Variable austauschbar.
Normalerweise gibt es zwei Arten von Feldern einer Klasse:
# 1) Klassenvariablen: Klassenvariablen werden mit dem Wort 'statisch' deklariert, so dass sie statische Variablen sind. Dies bedeutet, dass dieser Variablentyp nur eine Kopie pro Klasse hat, unabhängig davon, wie viele Instanzen oder Objekte für diese Klasse vorhanden sind.
# 2) Instanzvariablen: Dies ist das Gegenteil von Klassenvariablen. Die Datenelemente werden als Instanzvariablen bezeichnet, da diesen Variablen zur Laufzeit für jede Klasseninstanz ein separater Speicher zugewiesen ist.
In der obigen Klassendefinition haben wir sowohl Klassen- als auch Instanzvariablen gezeigt. Die mit einem statischen Modifikator deklarierte Variable 'bank_name' ist die Klassenvariable. Die beiden anderen Variablen 'customer_accNo' und 'customer_name' sind Instanzvariablen.
Baumeister
Konstruktoren sind spezielle Methoden, die im Allgemeinen zum Initialisieren einer Instanz einer Klasse verwendet werden. Konstruktoren haben keinen Rückgabetyp, sie haben denselben Namen wie die Klasse und können Parameter enthalten oder nicht.
In der obigen Klassendefinition haben wir einen Konstruktor.
Customer_Account (long accountnum, String accName)
In unseren nachfolgenden Tutorials erfahren Sie mehr über Konstruktoren.
Methode
Eine Methode in einer Java-Klasse ist die Funktion, die das Verhalten des Objekts und seiner Mitglieder definiert.
Eine Klassenmethode wird auf dieselbe Weise erstellt, wie wir reguläre Methoden in einem Programm erstellen. Innerhalb der Klassenmethode können wir alle von Java bereitgestellten Konstrukte und Funktionen verwenden.
In unserer Beispielklassendefinition haben wir eine 'printInfo' -Methode, die die verschiedenen Datenelemente der Klasse anzeigt.
Eine Java-Klassenmethode hat normalerweise den folgenden Prototyp:
method_name(parameter list…){ //code blocks }
Auf Klassenmethoden greift die Klasseninstanz mit dem Punktoperator zu. Wenn wir also eine Instanz gemäß der obigen Klasse 'Customer_Account' erstellen, können wir über die folgende Codezeile auf printInfo zugreifen.
acc.printInfo();
Wenn der Zugriffsmodifikator statisch ist, benötigen wir keine Instanz, um auf die Methode zuzugreifen. Wir können den Klassennamen direkt verwenden, um auf die Methode zuzugreifen:
Custome_Account.printInfo ();
Java-Klassenbeispiel
Lassen Sie uns ein einfaches Beispiel implementieren, um eine Klasse und ein Objekt in Java zu demonstrieren.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; } class Main{ public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Ausgabe
Das obige Programm deklariert eine Schülerklasse. Es hat drei Instanzvariablen, nämlich. student_id, student_name und student_marks.
Dann definieren wir die Hauptklasse, in der wir ein Objekt der Student-Klasse mit dem Namen student_object deklarieren. Dann greifen wir mit dem Punktoperator auf die Instanzvariablen zu und drucken ihre Werte aus.
Das obige Programm ist ein Beispiel für eine Hauptmethode außerhalb der Klasse.
Im folgenden Beispiel haben wir eine Hauptmethode innerhalb der Klasse.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Ausgabe
So öffnen Sie eine JSON-Datei
Das obige Programm ist das gleiche wie das vorherige Programm, außer dass die Hauptmethode in der Student-Klasse liegt.
Objekt In Java
Jetzt haben wir genug Wissen über Klassen in Java, wir können das Objekt in Bezug auf die Klasse neu definieren. Ein Objekt ist also „ eine Instanz einer Klasse ”. Daher erstellen wir eine Variable oder Instanz vom Typ Klassenname, die als Objekt bezeichnet wird.
Einige Punkte, die Sie bei einem Objekt beachten sollten:
- Ein Objekt wird zusammen mit der Klasse als Grundeinheit von OOP angesehen.
- Ein Objekt ist eine Laufzeiteinheit.
- Ein Objekt wird als Instanz einer Klasse bezeichnet.
- Ein Objekt hat Verhalten und Zustand.
- Ein Objekt übernimmt alle Eigenschaften und Attribute der Klasse, für die es eine Instanz ist. Zu jedem Zeitpunkt hat jedes Objekt unterschiedliche Zustände oder Variablenwerte.
- Ein Objekt wird verwendet, um eine Echtzeitentität in Softwareanwendungen darzustellen.
- Eine einzelne Klasse kann beliebig viele Objekte haben.
- Objekte interagieren miteinander, indem sie Methoden aufrufen.
So instanziieren Sie ein Objekt
Die Deklaration des Objekts wird auch als bezeichnet Instanziierung von Objekten in Java. Die Deklaration eines Objekts entspricht der Deklaration einer Variablen.
Beispielsweise, Die oben deklarierte Customer_Account-Klasse kann zum Deklarieren eines Objekts verwendet werden.
Daher deklarieren oder instanziieren wir das Objekt von Customer_Account wie folgt:
Customer_Account account;
Die obige Anweisung deklariert oder instanziiert ein Objekt mit dem Namen 'account' der Customer_Account-Klasse.
Beachten Sie, dass beim Instanziieren eines Objekts einer Klasse die Klasse streng genommen eine „konkrete Klasse“ sein sollte. Wir können kein Objekt einer abstrakten Klasse deklarieren.
Die obige Anweisung deklariert nur ein Objekt. Wir können diese Variable nicht verwenden, um Methoden der Klasse aufzurufen oder Werte der Mitgliedsvariablen festzulegen. Dies liegt daran, dass wir dem deklarierten Objekt keinen Speicher zugewiesen haben.
Wir müssen also ein Objekt richtig erstellen, um es weiter verwenden zu können.
Die eigentliche Erstellung eines Objekts erfolgt durch Initialisierung von Objekten. Sobald wir ein Objekt deklariert haben, müssen wir es initialisieren. Nur dann können wir dieses Objekt verwenden, um auf die Mitgliedsvariablen und Methoden der Klasse zuzugreifen.
So erstellen Sie ein Objekt
Wir können ein Objekt in Java mit den folgenden Methoden erstellen:
# 1) Verwenden eines neuen Schlüsselworts
Wir können ein Objekt mit einem neuen Schlüsselwort initialisieren. Diese Methode ist die am häufigsten verwendete Methode zum Erstellen eines neuen Objekts.
Beispielsweise,Mit einer Klasse ABC können wir ein neues Klassenobjekt wie folgt erstellen:
ABC myObj = new ABC ();
In der obigen Anweisung ist myObj das neue Objekt, das mit dem neuen Operator erstellt wurde. Das mit dieser Methode erstellte Objekt hat die Anfangswerte aller Datenelemente. Das Konstrukt ABC () nach dem neuen Schlüsselwort ist der Standardkonstruktor der Klasse ABC.
Wir können auch Konstruktoren mit Parametern definieren und diesen Konstruktor mit dem neuen Schlüsselwort aufrufen, sodass wir ein Objekt mit den gewünschten Werten von Datenelementen erstellen.
# 2) Verwenden der Class.forName () -Methode
Java bietet eine Klasse mit dem Namen 'Klasse', die alle Informationen zu Klassen und Objekten im System enthält. Wir können die forName () -Methode der Klasse 'Class' verwenden, um ein Objekt zu erstellen. Wir müssen einen vollständig qualifizierten Klassennamen als Argument an die forName-Methode übergeben.
Dann können wir die newInstance () -Methode aufrufen, die die Instanz der Klasse zurückgibt.
Die folgenden Codezeilen zeigen dies.
ABC myObj = Class.forName (“com.myPackage.ABC”).newInstance();
Die obige Anweisung erstellt ein neues Objekt myObj der Klasse ABC.
# 3) Mit der Methode clone ()
Die Objektklasse in Java bietet eine clone () -Methode, die den Klon oder die Kopie des Objekts zurückgibt, die als Argument an die clone () -Methode übergeben wurden.
Beispielsweise,
ABC myobj1 = new ABC (); ABC testObj = (ABC) myobj1.clone ();
# 4) Durch Deserialisierung
Java bietet eine Technik namens Deserialisierung, bei der wir ein Objekt aus einer gespeicherten Datei lesen. Wir werden die Deserialisierung in einem separaten Tutorial lernen.
So initialisieren Sie ein Objekt
In diesem Abschnitt werden die Methoden zum Initialisieren eines Objekts in Java erläutert. Die Initialisierung bezieht sich auf das Zuweisen von Werten zu Datenelementen der Klasse. Im Folgenden sind einige der Methoden aufgeführt, mit denen Objekte in Java initialisiert werden.
# 1) Initialisieren Sie ein Objekt über eine Referenz
Das erstellte Referenzobjekt wird zum Speichern von Werten im Objekt verwendet. Dies erfolgt einfach mithilfe eines Zuweisungsoperators.
Die Initialisierung eines Objekts unter Verwendung einer Referenz wird im folgenden Programm gezeigt.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; } class Main{ public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //initialization of class members using reference student_object.student_id = 101; student_object.student_name = 'Elena'; student_object.student_marks = 89.93; //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Ausgabe
Das obige Programm deklariert eine Schülerklasse mit dreiköpfigen Variablen. Anschließend erstellen wir in der Hauptmethode ein Objekt der Student-Klasse mit dem neuen Schlüsselwort. Dann weisen wir jedem der Mitgliedsfelder des Objekts Daten zu, wie im Programm gezeigt.
# 2) Initialisierung des Objekts durch Methode
In diesem Beispiel erstellen wir die beiden Objekte der Student-Klasse und initialisieren den Wert für diese Objekte durch Aufrufen der insertRecord-Methode. Die Methode insertRecord ist eine Mitgliedsmethode der Klasse Student.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; //method to initialize class data members void initialize_object(int id, String name, double marks) { student_id = id; student_name = name; student_marks = marks; } } class Main{ public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //initialization of class members through method student_object.initialize_object(27, 'Stefan', 78.86); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Ausgabe
# 3) Initialisierung des Objekts durch den Konstruktor
Wir können ein Objekt auch mithilfe eines Konstruktors initialisieren.
Das Programm zur Demonstration der Verwendung des Konstruktors ist unten angegeben.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; //constructor for initialization Student(int id, String name, double marks) { student_id = id; student_name = name; student_marks = marks; } } class Main{ public static void main(String args()){ //create a Student object using new operator and initialize it with constructor Student student_object = new Student(27, 'Stefan', 78.86); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Ausgabe
In diesem Programm verfügt die Klasse 'Student' über einen parametrisierten Konstruktor, der die Parameter übernimmt und sie den Mitgliedsvariablen zuweist.
Klasse gegen Objekt in Java
Klasse | Objekt |
---|---|
Ein Klassenmitgliedsfeld hat keine Werte. | Jedes Objekt verfügt über eine Kopie der Mitgliedsfelder und der zugehörigen Werte. |
Klasse ist eine Vorlage oder ein Entwurf für die Objekterstellung. | Das Objekt ist eine Instanz einer Klasse. |
Die Klasse weist beim Erstellen keinen Speicher zu. | Dem Objekt wird beim Erstellen Speicher zugewiesen. |
Die Klasse ist eine logische Entität. | Das Objekt ist eine physische Einheit. |
Klasse wird mit einem Klassenschlüsselwort deklariert. | Das Objekt wird mit den neuen Methoden forName () .newInstance () und clone () erstellt. |
Klasse ist eine Gruppe identischer Objekte. Z.B. Klassentiere (). | Objekt ist eine bestimmte Entität. Z.B. Tiere Hund = neue Tiere (); |
Die Klasse kann nur einmal deklariert werden. | Eine Klasse kann eine beliebige Anzahl von Instanzen oder Objekten haben. |
Häufig gestellte Fragen
F # 1) Was ist der Unterschied zwischen Klasse und Objekt?
Antworten: Eine Klasse ist eine Vorlage zum Erstellen von Objekten. Ein Objekt ist eine Instanz einer Klasse. Während eine Klasse eine logische Entität ist, ist ein Objekt eine physische Entität. Jedes Objekt hat einen Zustand, in dem alle Mitgliedsvariablen bestimmte Werte haben. Die Klasse hat keinen Status.
F # 2) Was enthält eine Java-Klasse?
Antworten: Eine Java-Klasse, die als Vorlage oder Blaupause zum Erstellen von Objekten fungiert, definiert Eigenschaften oder Felder sowie Verhaltensweisen oder Methoden.
F # 3) Warum verwenden wir Klassen in Java?
Antworten: Mit Klassen und Objekten können wir die realen Anwendungen in Java modellieren und so effizient lösen. Objekte mit einem Zustand und Verhalten stellen reale Entitäten dar und Klassen fungieren als Blaupausen. Durch die Verwendung von Klassen als Bausteine können wir daher jede komplexe Anwendung modellieren.
F # 4) Erklären Sie Klasse und Objekt anhand eines realen Beispiels.
Antworten: Wenn wir das Auto als Objekt nehmen, kann ein Auto Attribute wie Marke, Farbe, Motor, Kilometerstand usw. haben. Es kann auch einige Methoden wie Start (), Stop (), Bremsen () haben. So können wir ein Auto in ein Softwareobjekt modellieren. Jetzt kann das Auto verschiedene Marken wie Maruti, Fiat usw. haben.
Um all diese Automodelle darzustellen, können wir eine Klassenvorlage haben, die alle gängigen Attribute und Methoden enthält, die definiert sind, damit wir diese Klasse instanziieren und unser gewünschtes Autoobjekt erhalten können.
Somit kann ein reales Objektauto in Java leicht in ein Objekt konvertiert werden.
Fazit
In diesem Tutorial haben wir die Details von Klassen und Objekten in Java gelernt. Wir haben die Definition von Klasse und Objekt behandelt. Das Lernprogramm enthält eine ausführliche Beschreibung der Definition der Klasse, der Komponenten der Klasse sowie Beispiele für die Verwendung der Klasse in einem Programm.
Wir haben auch die Details von Objekten in Java einschließlich ihrer Deklaration, Erstellung, Initialisierung usw. mit entsprechenden Programmierbeispielen kennengelernt.
Wir haben die Hauptunterschiede zwischen Klasse und Objekten untersucht. In unseren nächsten Tutorials werden wir die Klassentypen und die Konstruktoren in der Klasse diskutieren, woraufhin wir uns anderen Themen widmen.
=> Sehen Sie sich hier die einfache Java-Schulungsreihe an.
Literatur-Empfehlungen
- Java-Grundlagen: Java-Syntax, Java-Klasse und Java-Kernkonzepte
- Java Integer und Java BigInteger Klasse mit Beispielen
- Was ist Java Vector? Java Vector Class Tutorial mit Beispielen
- OOP Java: Einführung in die objektorientierte Programmierung in Java
- Java Array Class Tutorial - java.util.Arrays-Klasse mit Beispielen
- Java Scanner Class Tutorial mit Beispielen
- Array von Objekten in Java: Erstellen, Initialisieren und Verwenden
- Arten von Klassen in Java: Abstrakt, Konkret, Endgültig, Statisch