假如public class test {
   ......
   public test() {
       .......
   }
...
}public class test2 {
   .......
   public test2() {
     test _test = new test();
     test3 _test3 = new test3(_test);
     .......
   }
  ...
}问题是这样的,我想把在test2 中 _test 作为全局的变量,就是说在test3中要用到_test中,按照一般情况,如果不在test3中new test()必须把_test传过去才能用,但现在我不想传过去,想把test2中的_test
作为全局,全部同在一个包的文件都能用,因为很多文件都用到_test,而且new test()的时间太长,因为涉及很多算法.我应该怎么做,怎么样修改test或者test2,才能达到上面的功能.谢谢大家

解决方案 »

  1.   

    static public test _test = new test();
      

  2.   

    public class A()
    {
        private static final A a = new A();
        private A(){..};
        public static A getInstance()
        {
             return a;
        }
    }这是单例模式的一种写法,这个的确要用单例模式。
      

  3.   

    把那个变量置成static就可以了。如果楼主熟悉设计模式,或者想学
    的话可以用工厂模式加单态模式就可以了!
    在实际的工作中用的很多!
      

  4.   

    呵呵,singleton模式的一个典型误用就是用来做全局变量.
      

  5.   

    http://www.lyye.cn/show.asp?id=355
    单例模式