Java – Aufrufen von nicht statischen Membern direkt aus dem Konstruktor, ohne den Objektnamen zu verwenden
Java ist eine objektorientierte Programmiersprache (OOP). Wir müssen Objekte erstellen, um auf Methoden und Variablen innerhalb einer Klasse zuzugreifen. Dies ist jedoch nicht immer der Fall. Bei der Erörterung statischer Schlüsselwörter in Java haben wir gelernt, dass statische Member auf Klassenebene sind und direkt ohne Instanz zugegriffen werden kann. Hier werden wir besprechen, wie wir auf nicht statische Datenelemente zugreifen können, ohne den Objektnamen zu verwenden, für den wir statische Datenelemente und nicht statische Datenelemente vergleichen können, die in der folgenden Tabelle wie folgt angegeben sind:
Statische Datenmember | Nicht statische Datenelemente |
---|---|
Sie werden mit dem Schlüsselwort 'static' deklariert. | Jedes Mitglied in Java ist standardmäßig nicht statisch, ohne dass ihm ein Schlüsselwort „statisch“ vorangestellt ist. |
Alle Objekte einer Klasse teilen sich dieselbe Kopie statischer Datenelemente. | Jedes Objekt der Klasse erhält seine eigene Kopie von nicht statischen Datenelementen. |
Auf sie kann über den Klassennamen oder das Objekt zugegriffen werden. | Auf sie wird im Allgemeinen über ein Objekt der Klasse zugegriffen. |
Statische Methoden können ohne die Instanz oder das Objekt dieser Klasse aufgerufen werden. | Nicht statische Methoden können auf jede statische Methode und statische Variable zugreifen, ohne eine Instanz des Objekts zu erstellen. |
Beispiel 1: Aufrufen von statischen Datenelementen ohne die Instanz oder das Objekt dieser Klasse.
Java
// Java program Illustrating Calling Static Data Members // Without the Instance or object of that class // Main class public class GFG { // Static variable static int a = 5; // Method 1 // Static method static void f() { // Print statement whenever static method is called System.out.println("I am static method"); } // Method 2 // Main driver method public static void main(String[] args) { // Calling static data members without the // instance or object of that class. System.out.println(GFG.a); // Calling method 1 GFG.f(); } }
5 Ich bin statische Methode
Beispiel 2: Aufrufen von nicht statischen Datenelementen.
Java
// Java Program Illustrating Calling Non-static Data Members // Main class public class GFG { // Non-static variable int a = 5; // Method 1 // Non-static method void f() { // Print statement whenever non static method is // called System.out.println("I am Non-static method"); } // Method 2 // Main driver method public static void main(String[] args) { // Creating object of class inside main() GFG obj = new GFG(); System.out.println(obj.a); // Calling non static data members obj.f(); } }
5 Ich bin nicht-statische Methode
Beispiel 3: Direktes Aufrufen von nicht statischen Datenelementen ohne Verwendung von Objektnamen.
Java
// Java program Illustrating Calling Non-static Method // Without using Object Name // Main class class GFG { // Calling non-static method // through constructor GFG() { int a = 5; System.out.println(a); display(); } // Method 1 // Non static method void display() { // Print statement whenever non-static method is // called System.out.println( "Non static method is called using constructor."); } // Method 2 // Main driver method public static void main(String[] a) { new GFG(); } }
5 Eine nicht statische Methode wird mit dem Konstruktor aufgerufen.