Java如何实现多个类引用同一个类的实例

有一个A的实例,我想类B, C, D...都能引用同一个实例。
不想用static,有什么方法么?

Java多个类引用同一个类的实例,可以用单例实现

运行结果如下:

代码如下:

class Single{

private static Single object;

private Single(){}

public static Single getObject(){

if(object==null) object=new Single();

return object;

}

}

class A{

public static Single getObject(){

return Single.getObject();

}

}

class B{

public static Single getObject(){

return Single.getObject();

}

}

public class Test {

public static void main(String[] args){

if(A.getObject()==B.getObject())

System.out.println("类A和类B引用了同一个类的实例");

}

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-01-03
使用单例模式,单例模式可以让A的实例始终只有一个,所以BCD去引用的时候都是同一个实例,
第2个回答  2014-01-03
我认为可以
得到这个实例A的引用,B,C,D中得到这个引用就可以了
第3个回答  2014-01-03
单例模式可以办到
第4个回答  2014-01-03
可以用单例来实现,如果需要具体代码可以给你追问

嗯,需要个例子看看,谢谢

追答

class A{
public static A instance = null;
private A(){}
public static A getInstance() {
if (instance==null)
instance = new A();
return instance;
}
}

class B{
public A getAInstance(){
return A.getInstance();
}
}

class C{
public A getAInstance(){
return A.getInstance();
}
}

public class SingletonTest {

public static void main(String[] args) {
System.out.println(new B().getAInstance()== new C().getAInstance());
}

}
输出结果为TRUE,说明是引用了同一个对象,A就是一个单例,有时间你可以看看JAVA设计模式的单例模式

本回答被提问者采纳
相似回答