补充以前学到的知识,关于静态变量的问题
静态变量,是属于类的,这个是挂在口边的,那么到是什么叫做属于类的呢?我认为,就是属于整个类的全体对象的.为类的全体对象所共有的。一个简单的比方,一个页面对象中,声明一个静态变量初始值为10,每个客户(即一个对象)访问一次页面,就会更改这个变量,A用户把这个变量更改成了12,B用户进来访问这个页面的时候又改变了这个变量,他会在12的基础再次改变,成了14,这个就是静态变量(比较感性的认识)。这个变量就是在全体对象间的共享。而如果是对象级的变量,他只能是在10的基础上又一次改变成了12,不会成为14。
静态构造函数是用来初始化类中的静态变量的。执行时间是在加载类时执行静态构造函数。(实例构造函数是在初始化对象时调用的)。静态构造函数是没有修饰符的。因为它只是由系统在加载类时自动执行的。而且静态构造函数是不能带有任何参数的。(因为要是给他传递值,是传递什么呢?)。
总之,静态变量是与类一起,存活在栈区的栈头上的,而对象们,是存活在栈头以下,每个对象,clr为其开辟一个线程,在栈区存有其地址,在堆区存储其实际内容(方法例外,方法是存在于栈区,堆区对象内的方法,只是一个方法的指针,指向方法在栈区的地址。)在栈头的静态变量,为每个对象所共享,当然,在创建对象的时候,是以类为模板,刻画出一个对象。。。。写着写着,好像写远了。。。。
在静态构造函数方面理解还不是很透彻,要加强