C#中静态与非静态的区别

东明兄 2017-02-06
0条评论 1,610 次浏览
东明兄 2017-02-060条评论 1,610 次浏览

直观的来说使用了static 修饰符的为静态,反之则是非静态。

静态和非静态的区别:

1.在非静态类中,既可以有实例成员,也可以有静态成员。

2.在调用实例成员的时候,需要使用  对象名.实例成员;

   在调用静态成员的时候, 需要使用  类名.静态成员名;

总结:

静态成员必须使用类名去调用,而实例成员使用对象名调用。

静态函数中,只能访问静态成员,不允许访问实例成员。

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

在静态类中,不能声明实例成员,静态类中只允许有静态成员,不允许有实例成员。

静态类不能被实例化,不让创建对象,因为静态类里的成员只能用类名来调用,与对象毫无关系。

        


使用:

1.如果你想要你的类当作一个“工具类”去使用,这个时候考虑将类写成静态类。

2.静态类在整个项目中资源共享。(类是不占内存的,对象是占内存,但静态类例外,静态类是占内存的,静态类是放在内存中的静态存储区域,整个项目谁都可以访问这个静态存储区域。静态类只有在整个程序结束后才会释放资源,所以不要使用太多静态类)。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注