import java.util.HashMap;
import java.util.Map;
class Test0
{
int i = 100;
String name = "TestMe0";
}
class Test1
{
int i = 101;
String name = "TestMe1";
}
class Test2
{
int i = 102;
String name = "TestMe2";
}
class Test3
{
int i = 103;
String name = "TestMe3";
}
public class GenericSingleTon
{
T instance;
static Map
public T getInstance(Class
{
if (instance != null)
{
instance = clazz.cast(map.get(clazz));
}
else
{
try
{
instance = clazz.newInstance();
}
catch (InstantiationException e)
{
e.printStackTrace();
}
catch (IllegalAccessException e)
{
e.printStackTrace();
}
map.put(clazz, instance);
System.out.println(map);
}
return instance;
}
public static void main(String[] args)
{
GenericSingleTon
gs0.getInstance(Test0.class);
GenericSingleTon
gs1.getInstance(Test1.class);
GenericSingleTon
gs2.getInstance(Test2.class);
GenericSingleTon
gs3.getInstance(Test3.class);
gs0.getInstance(Test0.class);
gs1.getInstance(Test1.class);
System.out.println("**** map" + map);
}
}
No comments:
Post a Comment