.NET学习之静态类
来源:互联网 发布:2016天猫淘宝各数据 编辑:程序博客网 时间:2024/05/01 15:10
1、静态类
1)仅包含静态成员。
2)不能被实例化。
3)是密封的,不可被继承
1)仅包含静态成员。
2)不能被实例化。
3)是密封的,不可被继承
4)不能包含实例构造函数
5)调用前初始化(构造函数),只初始化一次
2、静态成员
1)如果创建了该类的任何实例,不能使用实例来访问静态成员。
2)静态方法和属性只能访问静态字段和静态事件。
3)静态成员通常用于表示不会随对象状态而变化的数据或计算。
4)静态方法可以被重载但不能被重写,因为它们属于类,不属于类的任何实例,静态成员只被创建一次,所以静态成员只有一份。类加载的时候,所有的静态成员就会被创建在“静态存储区”里面,一旦创建直到程序退出,才会被回收。
5)C# 不支持静态局部变量(在方法范围内声明的变量)。
6)静态字段有两个常见的用法:一是记录已实例化对象的个数,二是存储必须在所有实例之间共享的值。
7)一个类只能有一个静态构造函数,该构造函数不能有访问修饰符,不能带任何参数,不能被直接调用,只能在:
(a) 创建包含静态构造函数的类实例时
(b) 访问包含静态构造函数的静态成员时会先调用静态构造函数,无论创建了多少个类实例,其静态构造函数都只调用了一次。
class Program { public static int i =0; public Program() { i = 1; Console.Write("实例构造方法被调用"); } static Program() { i = 2; Console.Write("静态构造函数被执行"); } static void Main(string[] args) { Console.Write(Program.i); //结果为2,首先,类被加载,所有的静态成员被创建在静态存储区,i=0,接着调用了类的成员,这时候静态构造函数就会被调用, i=2; Program p = new Program(); Console.Write(Program.i);//结果为1,实力化后,调用了实例构造函数,i=1,因为静态构造函数只执行一次,所以不会再执行。 } }8)this/base 关键字在静态方法中不能使用,因为有可能对象还不存在。
9)静态成员变量只被初始化一次,第二次保持着第一次改变后的值。
0 0
- .NET学习之静态类
- VB.net学习之模块、单例模式和Shared静态类成员
- .net 学习之BackgroundWorker 类
- C++学习之静态成员
- javascript学习之静态变量
- asp.net静态化页面实现学习
- ASP.NET页面静态化 之 (伪静态)
- .NET 基础 一步步 一幕幕[面向对象之静态、非静态]
- asp.net站点地图之menu(静态)
- asp.net站点地图之TreeView(静态)
- c++学习之 类中的常成员与静态成员
- 《Javascript权威指南》学习笔记之八:静态成员、静态类、枚举、重载和覆盖
- 《Javascript权威指南》学习笔记之八:静态成员、静态类、枚举、重载和覆盖
- 《Javascript权威指南》学习笔记之八:静态成员、静态类、枚举、重载和覆盖
- Kotlin语言学习之使用object和companion object修饰静态类和静态方法
- .net一些常用静态类
- .net 为什么需要静态类?
- .NET :静态类的理解
- c语言实现快速排序
- VS2013串口通信
- 第一章节
- 迅游网游加速器2015完美和谐版
- hdu 5195 DZY Loves Topological Sorting && BestCoder Round #35
- .NET学习之静态类
- 2014-2015 ACM-ICPC, NEERC, Southern Subregional Contest F. Ilya Muromets
- Ubuntu下配置zsh
- C语言实现双向循环链表
- windows 涉及到的简单socket API函数的用法
- 分析一个API的调用机制
- AC自动机
- ACM校赛网络赛部分题解
- cocos shader 之 羽化从中间慢慢变亮