0

本を作成していて、変数 (オブジェクト) のグローバル化に興味があります。

あるプロジェクトでは、Singletone を使用できます。ただし、ライブラリで使用して値を指定すると、プロジェクトで値を参照すると、値は常に 0 になります。

図書館:

public class Globals{
   private static Globals instance;

   // Global variable
   private int data;

   // Restrict the constructor from being instantiated
   private Globals(){}

   public void setData(int d){
       this.data=d;
   }
   public int getData(){
     return this.data;
   }

   public static synchronized Globals getInstance(){
     if(instance==null){
         instance=new Globals();
     }
     return instance;
   }
   /*Then write your methods here*/
      public void yourMethod(){}
}

ライブラリ: クラス ExampleLib

Globals g = Globals.getInstance();
        g.setData(120));

私のプロジェクト

Globals g = Globals.getInstance();
        System.out.println(g.getData()); // show 0
4

0 に答える 0