不好意思,发错了... 这个问题可以这样 public class A{ YourClass yc();
YourClass getYc(){ return yc; } }public class B{ YourClass yc; A a = new a(); yc = a.getYc(); }
// 单一实例或许能解决部分需要。public class Global { private static Global instance = new Global(); private Global (){ } public static Global getInstance(){ return instance; } // other public methods. }
和这个问题如出一折...语言基础要学好啊...这是规范来的...
这个问题可以这样
public class A{
YourClass yc();
YourClass getYc(){
return yc;
}
}public class B{
YourClass yc;
A a = new a();
yc = a.getYc();
}
private static Global instance = new Global();
private Global (){ } public static Global getInstance(){
return instance;
}
// other public methods.
}
在jvm中只有一个对象。这个对象封装了你需要的方法和拥有的属性!
private static final Singleton
instance = new Singleton();
/*
* 私有构造函数,保证该类将不被外界实例化,同时也不可能被继承
*/
private Singleton() { }
/*
* 静态工厂方法,返回唯一实例
*/
public static Singleton getInstance() {
return instance;
}
}(以上代码引自《JAVA与模式》——阎宏)唯一的实例被该类的内部filed所引用,并在第一次类别加载时初始化,这时候,单例类的唯一实例被创建出来。无论在任何地方调用Singleton.getInstance()都将返回唯一被共享的那个Singleton实例,同时由于被类内部化,使得该对象在整个程序运行生命周期中无法被销毁。注意:
有个前提,请楼主确定该对象在整个软件运行生命周期中是唯一的,否则请不要使用单例模式。如果无法确定该对象是否是唯一的,并且依然希望让多个对象同时共享该对象,就必须具体问题具体分析了,可能使用的模式是
多例模式,当可能有多个(注意是有限个)实例被大量共享时
享元模式,当需要共享大量细粒度对象时
不变模式,该对象在创建后的内蕴状态在整个生命周期中均不可变动,这就使得共享变成可能楼主的问题还需提供更多信息并进行具体分析,这里在下也是菜鸟一只无法提供更多的帮助了,可以参看
《Design Patterns》 —— E.Gamma, R.Helm, R.Johnson, and J.Vlissides
《JAVA与模式》 —— 阎宏@.@||~