日期:2014-05-20 浏览次数:21168 次
public class StaticTest {
    public static void main(String[] args) {
    String s=TestStaticString.s;
    }
}
class TestStaticString{    
    String ss=new TestStaticString().sp("003");
    static String s=new TestStaticString().sp("001");
    static String S;
    static{
        S=new TestStaticString().sp("002");
    }
    String sp(String s){
        System.out.println(s);
        return s;
    }
}
public class StaticTest {
    public static void main(String[] args) {
    String s=TestStaticString.s;   //执行第1步
    }
}
class TestStaticString{    
    String ss=new TestStaticString().sp("003");
    static String s=new TestStaticString().sp("001");  
                                //执行第2步,此时需要创建一个TestStaticString对象,其中static块会在对象创建时执行
    static String S;
    static{
        S=new TestStaticString().sp("002");  //执行第3步,然后这个又会执行static块...然后一直在这一步循环了
    }
    String sp(String s){
        System.out.println(s);
        return s;
    }
}
------解决方案--------------------
    String ss=new TestStaticString().sp("003");
------解决方案--------------------
"最后又要这了" 应是"最后又要执行到这了"
------解决方案--------------------
String ss=new TestStaticString().sp("003");
对就是这个的问题,会不停的递归调用,
一般要new本对象都是回做成静态的
------解决方案--------------------
自身归递问题
new自身的时候,再次调用new,无限new下去了