刚刚开始接触C#,总结的是自己整理的关于类,静态成员和静态方法的知识;作为自己学习的笔记。
类
1. 定义
定义一个模板,通过模板生成对象
模板中包含对象的状态和行为
2. 语法
[访问修饰符] class <类名>
{
//类的主体
}
3. 修饰符
具体的解释:访问控制权限
类名及所属工程 A 中变量 的访问修 饰符 | Project X Class A
| Project X Class B derived from A | Project Y Class C derived from A | Project X Class D
| Project Y Class E
|
Private | Private int i | 不可以访问 | 不可以 | 不可以 | 不可以 |
Internal | Internal int j | 可以访问 | 不可以 | 可以 | 不可以 |
Public | Public int k | 可以访问 | 可以 | 可以 | 可以 |
Protected | Protected int l | 可以访问 | 可以 | 不可以 | 不可以 |
Protected internal | Protected internal int m | 可以访问 | 可以 | 可以 | 不可以 |
1. 实例化
1. 实例化就是通过类这个模板来创建一个对象的过程
使用new关键字来创建
两种方法创建:
创建BankCustomer类的一个对象c
2. 创建成功之后就可以访问模板中定义的属性和方法
使用分号来访问变量,方法
其中FirstName LastName Balance Deposit为BankCustomer类的属性和方法
x可以直接访问
y必须实例化一个对象才可以访问y
3. 静态成员
静态成员与非静态成员比较:
4. 静态方法
静态方法与非静态方法比较:
| 静态方法 | 非静态方法 |
形式 | 使用static修饰符 | 没有使用static |
从属 | 类所有 | 类的实例所有 |
存储方式 | 在内存中只占同一块区域无论创建多少实例 | 每创建一个实例,都会在内存中为非静态方法新分配一块内存 |
使用权限 | 为各个类的实例公用 类实例化前即可使用 | 类实例化后才可使用 |
访问限制 | 只能访问类中静态成员 | 可以访问类中任何成员 |
访问方式 | 通过类直接访问 不能使用this等关键字 | 通过对象访问 |
创建时间 | 类装载时被创建 | 类被实例化时被创建 |
静态方法调用时无法判断非静态变量使用的内存地址,所以无法使用;而静态变量的地址对类来说是固定的,故可以使用。
静态方法效率比实例化高,静态方法的缺点是不能自动进行销毁,而实例化的则可以做销毁