静态函数与⾮静态函数的区别C#
语法区别
使⽤了static修饰符的⽅法为静态⽅法,反之为⾮静态⽅法,也就是实例⽅法。
在内存中位置的区别
实例化类和实例化对象静态⽅法:静态成员属于类所有,可以被各个实例公⽤,⽆论创建了多少个新实例,类的静态成员在内存中都只占内存的同⼀块位置⾮静态成员:每创建⼀个类的实例,都会在内存中为⾮静态成员分配⼀块新存储
使⽤上的区别
静态⽅法:静态⽅法属于类所有,在类实例化前就可以使⽤。
⾮静态⽅法:⾮静态⽅法只有在实例化以后才能分配内存。
⾮静态⽅法可以访问类中的所有成员,静态⽅法只能访问静态成员。
静态⽅法可以使⽤类名.静态⽅法的格式使⽤
静态⽅法的优点和缺点
优点:静态⽅法效率⽐实例⽅法⾼
缺点:静态⽅法是不⾃动进⾏销毁
静态类的常⽤场景
当⼀个类是⼯具类,⾥⾯都是⽅法。为了让⽤户调⽤的时候⽅便,不需要实例化对象。
在普通类中使⽤静态成员的场景
当这个类需要被实例化的时候,如果这个类中有⼀个成员是所有对象都共享的数据,这个时候可以将该类中的成员标记为静态的,但是这个类仍然是实例类。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论