欢迎光临
我们一直在努力

蛙蛙推荐:类中的静态成员和非静态成员(C#版)-ASP教程,ASP应用

建站超值云服务器,限时71元/月

//蛙蛙推荐:类中的静态成员和非静态成员(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程序编译一下,

//看看会提示什么错误,呵呵.

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 蛙蛙推荐:类中的静态成员和非静态成员(C#版)-ASP教程,ASP应用
分享到: 更多 (0)

相关推荐

  • 暂无文章