完全看不懂,能加一下详细的注释吗? class Test1 {
private static Test1 test1;
private Test1(){//为什么构造方法是私有的? }
public static Test1 getTest1(){//这个方法是用来做什么的?
if(test1 == null){
test1 = new Test1();
}
return test1;
}
}
//每一句都不理解 public class Test111 {
public static void main(String[] args) {
Test1 t1 = Test1.getTest1();//不明白??
Test1 t2 = Test1.getTest1();
Test1 t3 = Test1.getTest1();
Test1 t4 = Test1.getTest1(); System.out.println(t1);
System.out.println(t2);
System.out.println(t3);
System.out.println(t4);
} }
private static Test1 test1;
private Test1(){//为什么构造方法是私有的? }
public static Test1 getTest1(){//这个方法是用来做什么的?
if(test1 == null){
test1 = new Test1();
}
return test1;
}
}
//每一句都不理解 public class Test111 {
public static void main(String[] args) {
Test1 t1 = Test1.getTest1();//不明白??
Test1 t2 = Test1.getTest1();
Test1 t3 = Test1.getTest1();
Test1 t4 = Test1.getTest1(); System.out.println(t1);
System.out.println(t2);
System.out.println(t3);
System.out.println(t4);
} }
楼主【peterandy0116】截止到2008-06-29 20:48:38的历史汇总数据(不包括此帖):
发帖数:5 发帖分:85
结贴数:4 结贴分:65
未结数:1 未结分:20
结贴率:80.00 % 结分率:76.47 %
楼主加油
if(test1 == null){
test1 = new Test1();
}
return test1;
}
}
是用来获取Test1的实例对象的,如果这个类没有实例对象就构造一个,如果已经有了,那么就返回那个已经存在的实例对象。
至于Test1的构造函数为什么是私有的,其实这应该没有什么关系吧。
private static Test1 test1;
private Test1(){
}
public static Test1 getTest1(){
if(test1 == null){
test1 = new Test1();
}
return test1;
}
}
如果不是static 就不能保证是单例了
private Test1(){//为什么构造方法是私有的? 防止类在外部被实例化public static Test1 getTest1(){//这个方法是用来做什么的? 给test1赋一个值
private Test1(){//为什么构造方法是私有的? 防止类在外部被实例化public static Test1 getTest1(){//这个方法是用来做什么的? 给test1赋一个值
这其实是 java23种模式中的其中一个 单例模式!