静态方法与普通方法区别

静态方法与普通方法区别静态的内存空间是固定的,相对来说更省资源。创实例的创一个实例就要开辟一个新内存,耗费资源静态方法属于类所有,类实例化前即可使用;非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员;因为静态方法在类实例化前就可以使用,而类中的非静态变量必须在实例化之后才能分配内存;static内部只能出现static变量和其他static方法!而且static方法中还不能使用this等关键字,…

大家好,欢迎来到IT知识分享网。静态方法与普通方法区别"

静态的内存空间是固定的,相对来说更省资源。创实例的创一个实例就要开辟一个新内存,耗费资源
静态方法属于类所有,类实例化前即可使用;
非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员;
因为静态方法在类实例化前就可以使用,而类中的非静态变量必须在实例化之后才能分配内存;
static内部只能出现static变量和其他static方法!而且static方法中还不能使用this等关键字,因为它是属于整个类;
静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁;
静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。
主要区别:静态方法在创建对象前就可以使用了,非静态方法必须通过new出来的对象调用。
静态方法可以通过 类名::方法名直接调用。普通方法需要创建一个实例,也就是new一个对象,然后通过 对象名->方法名的方式来调用
静态类只能包含静态成员,否则会抛出编译错误;然而非静态类既可以包含非静态成员也可以包含静态成员
静态类是不能实例化,之所以不能实例化,是因为静态类会导致C#编译器将该类同时标记为abstract和sealed,并且编译器不会在类型中
生成一个实例的构造函数,从而导致静态类不能实例化;非静态类可以,并且静态成员的访问只能通过类来进行访问,因为静态成员是属于类的。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/16257.html

(0)

相关推荐

发表回复

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

关注微信