Blog

导航

 

写程序的时候发现,别人定义的类的构造函数是私有的,并且能够很好的使用,因为自己比较浅薄就比较纳闷,下午查了一些资料,心里有些概念了,记下作为笔记。

理解:在类中封装了唯一一个类的实例,构造函数为私有的,不允许类外创建实例。

代码:

View Code
1 public class Student
2 {
3 private static Student stu;
4 private static object _obj= new object();
5 private Student(){};
6 public static Instance()
7 {
8 if(stu==null)
9 {
10 lock(_obj) //锁定代码区
11 {
12 if(stu==null)
13 {
14 stu = new Student();
15 }
16 }
17 }
18 return stu;
19 }
20 }
21
22 public class Test
23 {
24 void Main(string[] args)
25 {
26 Student stu1 = Student.Instance();
27 Student stu2 = Student.Instance();
28 if (stu1.Equals(stu2))
29 {
30 Console.WriteLine("是同一个对象的引用");
31 }
32 else
33 {
34 Console.WriteLine("是两个不同的对象的引用");
35 }
36 }
37 }
参考:http://hi.baidu.com/mingyue091221/blog/item/d53574c8c4267a8dc8176843.html
posted on 2011-02-24 16:35  chongyang  阅读(303)  评论(1编辑  收藏  举报