类中的静态成员和非静态成员(C#版)
来源:互联网 发布:什么软件玩页游 编辑:程序博客网 时间:2024/04/25 08:19
//蛙蛙推荐:类中的静态成员和非静态成员(C#版)//下面我写一个例子来演示静态成员和非静态成员的区别//类的成员要么是静态的,要么是动态的,如果将类的某个成员声明为static,则该成员是静态成员。//类的静态成员是属于类所有,不必产生类的实例就可以访问它,就是只用类名就可以访问//静态成员为类的所有实例所共享,无论这个类创建了多少个实例,一个静态成员在内存中只占有一块区域.//类的非静态成员属于类的实例所有,每创建一个类的实例,都在内存中为非静态成员开辟了一块区域//静态方法只能访问类例的静态字段,而非静态方法可以访问类例的所有字段using System;
class Employee { public static decimal Salary; // 静态字段 public string Name; // 非静态字段 public static void SetSalary(decimal B) //静态方法 { Salary=B; // 正确,等价于Employee.Salary=B,注意这里不能访问Name变量的,因为它是静态方法 } public void SetName(string N) //非静态方法 { Name=N; // 正确,等价于this.Name=N. }}
class Sample{ public static void Main() { Employee.Salary=500.0m; // 正确,静态字段可以按类名访问 Employee.SetSalary(500.0m); // 正确,静态方法可以按类名访问 Employee e=new Employee(); // 建立类Employee的一个实例 e.Name="蛙蛙王子"; // 正确,非静态字段必须通过实例访问 e.SetName("蛙蛙王子"); // 正确,非静态方法必须通过实例访问 // 注意,e.Name不能写成Employee.Name,即非静态成员不能按类名访问 // Employee.Salary也不能写成e.Salary,即静态成员不能通过类的实例访问 Console.WriteLine("员工姓名:{0}/n薪水:{1}元", e.Name,Employee.Salary); }}//----------------------------------------------------//注意一下,上面的例子只演示了类成员里的字段和方法,其实类的成员还有属性等,这里没有演示.//把本文件保存成static.cs文件,然后在.net命令控制台下敲入csc static.cs会在当前目录下生成一个static.exe文件//运行static.exe就会看到结果了,你可以试着改动程序让静态方法访问一下非静态字段,再用csc.exe程序编译一下,//看看会提示什么错误,呵呵.
- 类中的静态成员和非静态成员(C#版)
- 蛙蛙推荐:类中的静态成员和非静态成员(C#版)
- 蛙蛙推荐:类中的静态成员和非静态成员(C#版)
- c++类中的静态成员和非静态成员
- 类中的静态成员函数访问非静态成员变量
- 静态成员和非静态成员
- 静态成员和非静态成员
- C#中的静态类和静态类成员
- 类的静态成员和非静态成员的区别
- C#静态类和静态类成员
- C#基础:静态成员和静态类
- C#静态类和静态成员
- C# 静态类和静态成员
- C# 静态成员和静态类
- 静态成员、非静态成员
- 静态类和静态成员中的要点
- C++中的类静态成员和静态成员函数
- C++中的类静态成员和静态成员函数
- 再谈hibernate与proxool连接池!
- 《六顶思考帽》摘录(1)
- 用OleDB打开加密的Access数据库
- 编译linux下的CVM出现的错误"_libc_wait"的解决
- php5.1.6的安装
- 类中的静态成员和非静态成员(C#版)
- Windows服务编写原理及探讨2
- JDK不兼容异常(class file has wrong version 49.0, should be 48.0)及解决方法
- 美国的罩门
- 动态页面生成静态页面一点思路 例子源码 (3Q2008.com 许仙)
- C# 趣味小程序(3)——以一定概率取数组中的数
- 明晰C++内存分配的五种方法的区别
- MSFlexGrid 完全参考手册
- RGB (255,0,0)或0x00FF0000