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

Sind die Werte, die von statischen Methoden in Java zurückgegeben werden, statisch?

Wenn Sie von einer statischen Methode Werte zurückgeben, sind diese standardmäßig weder statische Werte noch Instanzwerte, sie sind einfach nur Werte.

Der Benutzer, der diese Methode aufruft, kann sie nach Bedarf verwenden. Das heißt, Sie können Werte abrufen und sie als statisch deklarieren.

Da jedoch, wenn Sie Variablen für den Rückgabewert von statischen Methoden deklarieren müssen, können Sie keine Variablen in statischen Methoden deklarieren, müssen Sie sie im äußeren Bereich der Klasse aufrufen.

Beispiel

Angenommen, wir haben eine Klasse namens Demo.-

class Demo{
   int data = 20;
   public Demo(int data){
      this.data = data;
   }
   public int getData(){
      return this.data;
   }
}

Im folgenden Java-Beispiel haben wir zwei MethodengetObject(),分别getInt()Gibt ein Objekt und eine Ganzzahl zurück.

Wir haben diese Methoden in der Klasse und im Methode zwei Mal aufgerufen. In dieser Klasse haben wir die von ihnen zurückgegebenen Werte als static deklariert.

In der Methode verwenden wir sie (den von der Methode zurückgegebenen Wert) als lokale Variablen (natürlich nicht statisch).

public class StaticExample{
   static int data = StaticExample.getInt();
   static Demo obj = StaticExample.getObject();
   public static Demo getObject(){
      Demo obj = new Demo(300);
      return obj;
   }
   public static int getInt(){
      return 20;
   }
   public static void main(String args[]) {
      System.out.println(StaticExample.data);
      System.out.println(StaticExample.obj.data);
      StaticExample obj = new StaticExample();
      System.out.println(obj.getInt());
      Demo demo = obj.getObject();
      System.out.println(demo.data);
   }
}

输出结果

20
300
20
300
Elasticsearch-Tutorial