请问在C#中,静态变量和非静态变量之间的区别?
请问高手,在C#中说,静态变量是在所属类被装载时创建的,而非静态变量是在类被实例化时创建的,请问一下这该怎么理解呢/什么类被装载,类被实例化到底该怎么理解,请高手解释一下...
请问高手,在C#中说,静态变量是在所属类被装载时创建的,而非静态变量是在类被实例化时创建的,请问一下这该怎么理解呢/什么类被装载,类被实例化到底该怎么理解,请高手解释一下吧。谢谢
展开
4个回答
展开全部
静态变量就是不需要对象,直接使用“类名”加“.”的方式就可以访问,比如:
public class A
{
public static int a;
}
可以使用A.a来访问。
A.a = 5;
而非静态变量必须先创建对象,通过对象访问,比如:
public class B
{
public int b;
}
必须先创建B的对象,然后通过对象访问:
B objectB = new B();
B.b = 5;
静态变量另一个重要特征是所有的对象共享这一个变量,还是用刚才的A类说明:
A a1 = new A();
A a2 = new A();
a1.a = 3;
a2.a = 5;
最后a的值是5,因为a1和a2共享a这个静态成员变量。
public class A
{
public static int a;
}
可以使用A.a来访问。
A.a = 5;
而非静态变量必须先创建对象,通过对象访问,比如:
public class B
{
public int b;
}
必须先创建B的对象,然后通过对象访问:
B objectB = new B();
B.b = 5;
静态变量另一个重要特征是所有的对象共享这一个变量,还是用刚才的A类说明:
A a1 = new A();
A a2 = new A();
a1.a = 3;
a2.a = 5;
最后a的值是5,因为a1和a2共享a这个静态成员变量。
Storm代理
2023-08-29 广告
2023-08-29 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
展开全部
静态程序初始化就分配内存地址,对非静态的在调用的时候在分配内存.看需求做处理!
用过委托的就知道,可以把类方法当作参数一样传递进去,类实例化就是 A a=new A().A是一个非静态类哦..一般静态的类的话就不要实例话.比如
class A
{
public Method()
{}
}
static class B
{
public Method2()
{}
}
要使用Method方法的时候就得实例化类A 就得这样
A a =new A()
a.Method()
而要使用Method2方法的时候不必实例化类可以直接调用:B.Method2()就ok了..
慢慢理解吧...多使用这些..做店练习这个很好理解的..赶紧吧.孩子...面向对象...块过去了...面向切片编程又要出来了...学编程最主要还是学思想!!!
用过委托的就知道,可以把类方法当作参数一样传递进去,类实例化就是 A a=new A().A是一个非静态类哦..一般静态的类的话就不要实例话.比如
class A
{
public Method()
{}
}
static class B
{
public Method2()
{}
}
要使用Method方法的时候就得实例化类A 就得这样
A a =new A()
a.Method()
而要使用Method2方法的时候不必实例化类可以直接调用:B.Method2()就ok了..
慢慢理解吧...多使用这些..做店练习这个很好理解的..赶紧吧.孩子...面向对象...块过去了...面向切片编程又要出来了...学编程最主要还是学思想!!!
追问
您推荐一些好的书籍吧,我刚走上工作岗位,可以用自己的哦工资买书了,请您推荐几本好一点的书吧,我基础确实是差,但是我想学回来,我真的很想
追答
书籍的话,有好多,前期网上找些C#基础的比如C#程序设计最好找清华北大的.那些书比较实在还有可以结合明日出版社的那本实战教程!在练习示例的时候去把基础补回来.最后看CRL VIA 第三版这本书相当给力,讲诉C# CLR工作原理等...最后可以了解IL等东西了...差不多了吧这也是我学C#的路子...呵呵,楼主可以参考.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类加载是指:类的定义(就是你写的类的源代码)被读入C#的运行环境。
类 被实例化是指:new出这个类的一个对象。 这个实例化是由你写代码 new 产生的。
类 被实例化是指:new出这个类的一个对象。 这个实例化是由你写代码 new 产生的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-08-08
展开全部
先装载 再实例化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询