当前位置: 代码迷 >> Java相关 >> static 有这么麻烦吗?(已解决)
  详细解决方案

static 有这么麻烦吗?(已解决)

热度:831   发布时间:2008-04-13 14:46:59.0
static 有这么麻烦吗?(已解决)
class Explicit{
    Test3 a=new Test3();//这里怎么会比构造函数先执行,还有这一句也没有在main()里怎么就可以被执行了呢
                                        //这里是不是被默认成static语句了啊
    Explicit(){
        System.out.println("Explicit");
    }
}
class Test3{
    Test3(){
        System.out.println("Test3");
    }
}
class Test{
    public static void main(String[] args){
        Explicit e=new Explicit();
    }
}

[[it] 本帖最后由 he20041987 于 2008-4-15 11:58 编辑 [/it]]
搜索更多相关的解决方案: static  麻烦  

----------------解决方案--------------------------------------------------------
public class a {

    int i = 0;  

    public a() {

        i++;
        System.out.println("" + i);
    }

    public static void main(String []args) {

        new a();
    }
}

成员变量也是先执行的...........

如果不是从成员变量执行的话,会出现异常
----------------解决方案--------------------------------------------------------
哦那么说java是先执行static语句块,再执行成员变量,最后才执行main().
----------------解决方案--------------------------------------------------------
class Explicit{
   
    static  Test3 b=new Test3();                                 
    Explicit(){
        System.out.println("Explicit");
    }
    Test3 a=new Test3();
}
class Test3{
    Test3(){
        System.out.println("Test31");
    }
    public String toString()
    {
        return getClass().getName();
        }
}
class Test{
    public static void main(String[] args){
        Explicit e=new Explicit();
        System.out.println(Explicit.b);
    }
}
----------------解决方案--------------------------------------------------------
可以这样看建立对象的前提,就是把对象中可能要建立的都建好,在建立对象自己,不用关键字定义的都不是静态得..
----------------解决方案--------------------------------------------------------
差不多了解了,谢谢两位了!
----------------解决方案--------------------------------------------------------
正确的顺序是
执行静态初始化(包括static块)
字段默认初始化
字段初始化
构造器
----------------解决方案--------------------------------------------------------
  相关解决方案