English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
静的メソッドから値を返すたびに、デフォルトではそれらは静的値でも、インスタンス値でもありません。それらは単なる値です。
そのメソッドを呼び出すユーザーは必要に応じてそれらを使用できます。つまり、値を取得して静的として宣言することもできます。
しかし、静的メソッドの戻り値を宣言する必要がある場合、静的メソッドの変数を宣言することはできません。そのため、メソッド外部のクラス内でそれを呼び出す必要があります。
我々はDemoという名前のクラスを持っていると仮定します-
class Demo{ int data = 20; public Demo(int data){ this.data = data; } public int getData(){ return this.data; } }
以下のJavaの例では、二つのメソッドがありますgetObject()
、それぞれgetInt()
オブジェクトと整数を返します。
クラスとメソッドの中でこれらのメソッドを二度呼び出します。このクラスでは、それらが返す値を static として宣言しています。
メソッドの中で、私たちはそれら(メソッドが返す値)をローカル変数(明らかに非静的)として使用します。
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