这个结果是用java 解释后看到的结果,怎么会是这个顺序???

解决方案 »

  1.   

    static Cups x = new Cups();
    static Cups y = new Cups();上面这两句是在main前执行的,这样就清楚了吧。<------ 树欲静而风不止 ------>
      

  2.   

    <------ 仁者见仁,智者见智------>
    x,y也没有调用cup(int er) 呀
    <------ 仁者见仁,智者见智------>
      

  3.   

    能告诉我java filename后看到的结果是什么吗
    <------ 仁者见仁,智者见智------>
      

  4.   

    首先初始化的是static,顺序是代码顺序up-to-down!然后在是自己调用的方法!
    上面的执行顺序是
    1: static Cups x=new Cups(); 转入 Cups对象
    2: static Cup c1=new Cup(11); 转入 Cup对象
    3: 执行Cup的输出 Cup(11);
    4:  cups对象里的 static Cup c2;
    5: static{
       c1=new Cup(1);转入Cup对象 输出 Cup(1)
       c2=new Cup(2);转入Cup对象 输出 Cup(2)
     }
    6: cups对象里的 Cup c3=new Cup(33); 输出 Cup(33)
    7:c3=new Cup(3); 输出 Cup(3)
       c4=new Cup(4); 输出 Cup(4)
    8:Cups(){
     System.out.println("Cups()"); 输出 Cups()
      }
    9:static Cups y=new Cups(); 
     注意Cups里的static成员已经初始化 所以 static Cup c1=new Cup(11);
     static Cup c2;static{
       c1=new Cup(1);
       c2=new Cup(2);
     }
     不在执行!
    下面的就和上面一样了!
      

  5.   

    在初始化时调用了Cup的构造函数!Cup( int er )
      

  6.   

    小弟看了好久也只能跟据结果推出来,忘各位指教!
    程序首先执行:static Cups x=new Cups();这行,因为在主函数里有三个static标识,分别是x,y,main。按规定,含static标识的优先执行,而变量比函数优先执行,因此顺序是先执行x,y,main.
    x初始化,会自动调用cups类,而在cups中也存在三个static的标识,因此依顺序执行
    先执行static Cup c1=new Cup(11);初始化cup类,因而调用cup的构造函数,产生输出:cup(11)
    然后执行static Cup c2;因为只是声明,并没有初始化,所以不输出
    再次执行 static{
       c1=new Cup(1);
       c2=new Cup(2);
     }如上所述产生输出cup(1),cup(2)
    下面再执行Cup c3=new Cup(33);输出 cup(33)
    然后执行 Cup c4;
     { c3=new Cup(3);
       c4=new Cup(4);
     }输出cup(3),cup(4)
    接着再执行cup的构造函数,输出cup()
    下面再执行 static Cups y=new Cups();
    因为static声明的东西只执行一次就不再执行,因此下面的就不执行cups中标识的static的内容了
    Cup c3=new Cup(33);输出cup(33);
    Cup c4;
     { c3=new Cup(3);
       c4=new Cup(4);
     }输出cup(3),cup(4),执行构造函数输出cup();然后再执行main主函数,输出f(99)
      

  7.   

    结论:程序执行时,执行时,首先找到含有static的标识语句,优先执行这些语句,而含有static的变量优先定义,而如果这些变量是类的实例,则先初始化类,类中先初始化变量,然后再执行构造函数,然后返回,接着再执行main函数!
      

  8.   

    程序执行后,为什么会看到初始化的结果》
    <------ 仁者见仁,智者见智------>