English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Wie kann man eine statische Klasse Object ohne Bezugnahme auf die äußere Klasse in Java erstellen?

Statische Members (Methoden/Ein Variable (Member) gehört zu dieser Klasse, es wird zusammen mit der Klasse in den Speicher geladen. Sie können es ohne zu erstellen ein Objekt aufrufen (verwenden Sie den Klassennamen als Referenz). In der gesamten Klasse ist nur eine Kopie des statischen Feldes verfügbar, d.h. der Wert des statischen Feldes ist in allen Objekten gleich. Sie können ein statisches Feld mit dem Schlüsselwort static definieren.

示例

public class Sample{
   static int num = 50;
   public static void demo(){
      System.out.println("Wert von num in der demo Methode ")+ Sample.num);
   }
}
public class Demo{
   public static void main(String args[]){
      System.out.println("Wert von num in der main Methode ")+ Sample.num);
      Sample.demo();
   }
}

输出结果

Wert von num in der main Methode 50
Wert von num im Demo-Methode 50

Referenzierung eines statischen Members desselben Klasse

Wenn Sie einen statischen Member einer Klasse selbst referenzieren möchten (im selben Klasse), müssen Sie diese Klasse nicht referenzieren, Sie können stattdessen direkt auf den statischen Member zugreifen.

示例

public class Sample{
   static int num = 50;
   public static void demo(){
      System.out.println("Wert von num in der demo Methode ")+ Sample.num);
   }
   public static void main(String args[]){
      demo();
      System.out.println(num);
   }
}

输出结果

Wert von num im Demo-Methode 50

内部班

In Java können Sie Klassen in Klassen enthalten, die als Innernklasse bezeichnet werden.

语法

public class Outer{
   public class Inner{
   }
}

Wenn Sie in einer anderen Klasse eine Klasse haben, fungiert sie nur als Instanzmitglied der externen Klasse. Daher können Sie die Namen der Mitglieder (Innernklasse) verwenden, um auf sie zuzugreifen, wenn Sie eine Innernklasse statisch deklarieren.-

outer_class_name.inner_class_name.members

示例

class OuterDemo {
   static int data = 200;
   static class InnerDemo {
      public static void my_method() {
         System.out.println("Dies ist meine verschachtelte Klasse");
         System.out.println(OuterDemo.data);
      }
   }
}
public class StaticClassExample{
   public static void main(String args[]) {
      System.out.println(OuterDemo.data);
      //Verschachtelte Outer.InnerDemo = neue Outer.InnerDemo(); 
      OuterDemo.InnerDemo.my_method();
   }
}

输出结果

200
Dies ist meine verschachtelte Klasse
200

Wenn Sie versuchen, auf das (statische) Mitglied einer statischen Innernklasse zu verweisen, müssen Sie den Namen der externen Klasse nicht verwenden, Sie können auch nur den Namen der Innernklasse verwenden, um auf die Mitglieder zu verweisen.

示例

class OuterDemo {
   static int data = 200;
   static class InnerDemo {
      public static void my_method() {
         System.out.println("Dies ist meine verschachtelte Klasse");
         System.out.println(OuterDemo.data);
      }
   }
   public static void main(String args[]) {
      System.out.println(data);
      InnerDemo.my_method();
   }
}

输出结果

200
Dies ist meine verschachtelte Klasse
200
Gefällt dir auch