静态变量:
静态变量使用 static 修饰符进行声明
在所属类被装载时创建
通过类进行访问
所属类的所有实例的同一静态变量都是同一个值
非静态变量:
不带有 static 修饰符声明的变量称做非静态变量
在类被实例化时创建
通过对象进行访问
同一个类的不同实例的同一非静态变量可以是不同的值
示例:
[复制到剪贴板]code:
using system;
using system.collections.generic;
using system.text;
namespace example01
{
class program
{
class class1
{
public static string staticstr = "class";
public string notstaticstr = "obj";
}
static void main(string[] args)
{
//静态变量通过类进行访问,该类所有实例的同一静态变量都是同一个值
console.writeline("class1's staticstr: {0}", class1.staticstr);
class1 tmpobj1 = new class1();
tmpobj1.notstaticstr = "tmpobj1";
class1 tmpobj2 = new class1();
tmpobj2.notstaticstr = "tmpobj2";
//非静态变量通过对象进行访问,不同对象的同一非静态变量可以有不同的值
console.writeline("tmpobj1's notstaticstr: {0}", tmpobj1.notstaticstr);
console.writeline("tmpobj2's notstaticstr: {0}", tmpobj2.notstaticstr);
console.readline();
}
}
}
结果:
class1's staticstr: class
tmpobj1's notstaticstr: tmpobj1
tmpobj2's notstaticstr: tmpobj2
新闻热点
疑难解答
图片精选