static 表示该成员在没有实例化对象的情况下也可以使用。是吗?
那你那种方式肯定不行吧。

解决方案 »

  1.   

    我的理解:
    你这样的每次重新运行的时候,Untitled1都是第一次调用的,如果实现你的问题的时候,你应该保证Untitled2,Untitled3在同一个java调用中,免得每次调用Untitled1时,它都重新初始化。解决方法:
    1实现系列化接口
    2用一个文件来存储,如何采用单一实例的方法!
      

  2.   

    如果你是要实现那种功能。
    public  class  Untitled1  {  
       private  int x=0;
       private static Untitled1 u=null;
       private Untitled1()
       {}
       public static Untitled1 getInstance()
      {
        if(u!=null)
          return u;
        else
        {
           return new Untitled1();
        }
       }
        public void addX()
       {
         x++;
        }
    public int getX()
    {
        return x;
    }
    }}   在Untitled2,Untiled3中
    getInstance().addX();
    其实这就是设计模式中的singleton模式。他每次都返回原来的实例。
      
      

  3.   

    其实你的那种调用方法不可能得到你要的结果的
    因为Untitled2和Untitled3运行时虚拟机建立的是不同的内存堆,
    也就是说他们每次运行都会建立新的静态区!静态区仍然不能脱离实际运行环境存在,所以出现了这种结果!静态对象通常用于在不同的对象之间共享数据的。