马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

静态类的知识点,什么是静态类

[复制链接]
查看3937 | 回复0 | 2014-12-11 09:53:44 | 显示全部楼层 |阅读模式
小结一下关于静态类的重要知识点:
1、调用静态方法的时候只能通过类名直接来调用,不能通过对象来调用。也就是说静态成员不需要实例化对象。

2、静态成员在整个程序推出时才才释放资源,所以可以在整个应用程序中用到静态成员,它相当于在共享数据。

3、静态类的构造函数,只会在第一次使用静态类之前调用执行,并且只会执行一次。

4、当给一个普通类添加静态字段后,系统会默认为该类生成一个静态构造函数。【静态构造函数不能有访问修饰符,并且不能够带参数】

5、静态类不能被实例化,并且不能被继承。

6、由于静态成员在整个程序推出时才释放资源,所以尽量避免写静态字段,一般只写静态方法。

7、静态类和普通类中的静态成员
   (1)静态类:一般都用作工具类,里面都是一些工具函数例如Math,Console,都是静态类。  静态类中只包括静态成员。
   (2)普通类中的静态成员:只能通过类名来访问,多个对象共享一个静态成员。静态方法中只能访问静态成员。

  什么时候用静态类?
答:一般情况下,当这个类是一个工具类,里面都是方法,为了让用户调用的时候方便,不需要实例化对象,可将此类直接标记为static的类,该类中只能包含静态成员,不能包含实例成员。

  什么情况下只需在一个普通类中编写一个静态成员,而这个类不能标记为static?
答:当这个类需要实例化的时候或者用到多态的时候(多态是必须能被继承的,而静态类是不能够被继承的)。这时如果类中的一个成员是所有对象共享的数据,这时候可以将该类中的这个成员标记为静态的,但是该类还是一个实例类。

8、静态方法或者静态变量创建后始终使用同一块内存(静态存储区),而使用实例方式则会创建多个内存。

9、静态类的继承问题:
    静态类不能被其他类继承。
    静态类不能继承自其他类,只能继承自Object类。
   静态类不能使用多态(本身就不能被继承)
   sealed:密封类,不能被继承      或   禁止子类重写父类的方法。

10、静态类的本质:abstract+sealde
   (1)abstract:不能被实例化
   (2)sealed: 不能被继承。

C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则