黑马程序员_关于静态

1.使用了static修饰符的方法为静态方法,反之则是非静态方法;
2.静态方法是一种特殊的成员方法,它不属于类的某一个具体的实例;
3.非静态可以访问类中的任何成员,而静态方法只能访问类中的静态成员。

1.静态方法修饰的对象是全局变量,谁都可以调用,而实例方法创造的对象属于实例方法
2.static修饰的就是静态的,不需要实例化对象,而new出来的就是实例的,需要实例化对象

1.静态方法不对特定实例进行操作,在静态方法中引用 this 是编译时错误。
2.实例方法对类的某个给定的实例进行操作,而且可以用 this来访问该实例。

 

namespace _7.静态方法
{
    class Program
    {
        /// <summary>
        /// 一个类中,static方法能用static对象,不能直接调非static的对象。
        /// 被static修饰的不需要实例化.就是不能被new的类就是静态类。
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            Person Age = new Person();
            Person.TotalCount = 10;
            Console.WriteLine(Person.TotalCount);
            DoIt();
            Console.ReadKey();
        }

        public static void DoIt()
        {
            Console.WriteLine("使用全局变量,{0}", Person.TotalCount);//用了全局变量
        }       
    }

    public class Person
    {
        public static int TotalCount;//加了static后,是全局变量,都能被访问。
        public int Age;
    }

    public class Dog
    {
        public void jiaohuan()
        {
            Console.WriteLine("旺旺,{0}",Person.TotalCount);//没有被static修饰,但也可以使用全局变量
        }
    }
}

 

静态类是不能实例化的,我们直接使用它的属性与方法,静态类最大的特点就是共享。
静态类中的所有成员必须是静态的。
静态类可以有静态构造函数,静态构造函数不可继承。
静态构造函数可以用于静态类,也可用于非静态类。
静态构造函数无访问修饰符、无参数,只有一个 static 标志。
静态构造函数不可被直接调用,当创建类实例或引用任何静态成员之前,静态构造函数被自动执行,并且只执行一次。
非静态类需要你自己去实例化加载它,才能调用

posted @ 2014-04-02 16:08  雨亭天亮  阅读(166)  评论(0)    收藏  举报