什么时候使用类名直接使用类名下的属性和方法
什么时候使用该类的对象访问类下的方法
通过类名访问的方法和通过对象访问的方法的区别是
不是通过类名访问的都是static的属性和方法
问题好像有点菜,不过请大家帮帮忙谢谢哦!

解决方案 »

  1.   

    静态类不用new一个实例就可以直接 class.funtion()
    非静态的就要先new一个实例,再从实例来访问方法或属性。
      

  2.   

    public Class ABC
    {
        public ABC(){}    public void D(){}    public static void E(){}
    }要访问D,必须先声明一个ABC的实例,再访问。
    E就不用,ABC.E()属性和方法一样,静态的就是可以不用通过实例化就可以访问。
      

  3.   

    楼上的说得不太好,静态的和对象是有差异的,除了一个实例化一个不实例化之外,非静态的可以new 随意几个实例,存储的内容也不一样,而静态的属性所有的赋值语句都只针对同一个内存(也就是同一个变量)例子:
    public staticClass A
    {
       public static string name;
    }public Class B
    {
       public string name;
    }
        class Program
        {
            static void Main(string[] args)
            {
                Class1.name = "a";
                Class1.name = "b";
                Console.WriteLine(Class1.name);//这里总是一个
                Class2 a = new Class2();
                Class2 b = new Class2();
                a.name = "11";
                b.name = "22";
                Console.WriteLine(a.name+"   "+b.name);//这里可以实例化多个,而name属性会根据对象改变
                Console.ReadLine();
            }
        }