本を作成していて、変数 (オブジェクト) のグローバル化に興味があります。
あるプロジェクトでは、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