c#面向对象- 静态成员和非静态成员的区别

    科技2022-07-17  114

    文章目录

    静态和非静态区别

    静态和非静态使用

    提示:

    (1)加上static就是静态成员,不加就是非静态成员。

    (2)在一个类中,既可以有静态成员,也可以有非静态资源。

    (3)在调用实例成员时,需要使用 对象名(实例).实例中的成员。

    (4)在调用静态成员的时候,需要使用 类名.静态成员的名字。

    class Person { // 在别的文件调用此方法时: // Person m = new Person; // m.M(); public void M() // 实例方法 { Console.WriteLine("我是非静态方法"); } // 在别的文件调用此方法时: // Person.M1(); public static void M1() // 静态方法 { Console.WriteLine("我是静态方法"); } }

     


    总结

    提示:

    (1)静态成员必须使用类名去调用,而实例成员使用对象名调用;

    (2)静态函数中,只能访问静态成员,不允许访问实例成员;

    (3)实例函数中,既可以使用静态成员,也可以使用实例成员。

    (4)在静态类中,只能出现静态成员,不允许出现实例成员,否则将会报错:

    (5)静态类,是不允许被实例化的,因为静态类中,没有实例成员,其次,在调用时静态成员时,也必须用类名来调用。


    使用静态类和非静态类的时机

    (1)如果你想要你的类当做一个“工具类”去使用时,这个时候可以考虑将类写成静态类(如:Console这个类就是工具类);

    所为工具类就是:经常要使用的方法,可以封装到一个静态类中。

    (2)静态类在整个项目中,它是资源共享的,所以,项目中,尽量少使用静态类,因为他会占用内存空间,且只有整个程序都结束时,才会释放资源(GC垃圾回收器回收);

    Processed: 0.009, SQL: 8