现在的位置: 首页 > 综合 > 正文

2010.4.8 全局的静态的变量和局部变量的区别

2012年10月03日 ⁄ 综合 ⁄ 共 1055字 ⁄ 字号 评论关闭

全局的和对象的变量
1.全局:static 修饰,是公有的
2.对象变量时类实例化之后的,是特有的
3.因此每次实例化类之后在调用它的时候static修饰的值都会加1,而对象的就是每次类实例化的时候相当于又开辟了新的内存空间,则相当于又是第一次调用对象的,因此对象的变量每次都加1,而且只加一次。

下面举个例子:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {

          int i = 3;//属于对象(既然有对象就有类)
        static int j = 3;//静态的是属于类的
        //j是公有的则每个对象都有自己的,i是特有的
        public Program()
        {
            i++;
            j++;
        }
        //注意两个的区别
        public void Show1()
        {
            Console.WriteLine(i + ":" + j);
        }
        public static void Show2()
        {
            //静态的即公共的,还没有对象,只能调用它的静态属性即公共的变量
            Console.WriteLine(j);
        }
        //public static void Show3()
        //{
        //    //静态的即公共的,还没有对象,只能调用它的静态属性即公共的变量
        //    Console.WriteLine(i);
        //}
        static void Main(string[] args)
        {

            Program cs = new Program();
            cs.Show1();
            Program.Show2();
            Program cs1 = new Program();
            cs1.Show1();
            Program cs3 = new Program();
            cs3.Show1();
            Program.Show2();
         
        }
    }
}

抱歉!评论已关闭.