关于静态属性的基础有关问题

关于静态属性的基础问题?

public class myStaticTest {
    private static MYClass mClass = new MYClass ();
    public static String newInstance(){
          return "strText="+ mClass.toString();
    }
}

如果调用多次myStaticTest 类,请问MYClass 是否只实例化一次呢,还是每调用都会实例化呢?
如:
myStaticTest.newInstance();//1次
myStaticTest.newInstance();//2次
是否实例化了2次了MYClass呢,如果是,我可以这样写吗?


public class myStaticTest {
    private static MYClass mClass = null;
     public static void init(){
        mClass = new MYClass ();
     }
    public static String newInstance(){
          return "strText="+ mClass.toString();
    }
}

myStaticTest.init();
myStaticTest.newInstance();//1次
myStaticTest.newInstance();//2次

------解决思路----------------------
当然只实例一次了,static是静态共享的意思,static变量在类第一次创建时创建,之后直到jvm关闭才消失。

public class _2_StaticClass {
/**
 * @param args
 */
public static void main(String[] args) {
Test1 t1 = new Test1();
Test1 t2 = new Test1();
}

}

class Test1{
private static Test test = new Test();
public static String newInstance(){
        return "strText="+ test.toString();
  }
}

class Test{
public Test(){
System.out.println("test");
}
}



试试这个,只会输出一次test,说明两次创建对象,只执行一次构造函数
------解决思路----------------------
只会一次  操作的是同一个对象