public class myStaticTest { private static MYClass mClass = new MYClass (); public static String newInstance(){ return "strText="+ mClass.toString(); } } 如果调用多次myStaticTest 类,请问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(); |
|
30分 |
当然只实例一次了,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,说明两次创建对象,只执行一次构造函数 |
10分 |
只会一次 操作的是同一个对象
|