黑马程序员技术交流社区
标题:
静态变量和非静态变量具体有什么区别,如何合理运用啊
[打印本页]
作者:
穷傻呆丑萌
时间:
2013-8-4 17:52
标题:
静态变量和非静态变量具体有什么区别,如何合理运用啊
关于静态和非静态一直不是很明白,
就知道静态的不能实例化非静态的可以实例化。。。。
然后这俩该怎么合理运用就不懂了。。。。
求大神解答
作者:
274997322
时间:
2013-8-4 18:34
静态之所以不能被实例化,是因为在程序运行前,就已经被实例化好了,独立的存在于内存中。
非静态类会在Main()方法运行后,依次加载进类存。
由于静态是独立的存在于内存中的,所以就可以直接调用不用实例化
静态类
例如静态类Console,我没从来没有去实例它,然而却不断的在用Console.WriteLine(); ...
所以一般情况下,我们将常用的类,或者不想他受程序牵制的时候,就把该类定义成静态的。
静态变量,静态方法
当我们需要一个变量,他是全局的,能让我们在程序的任何一个地方都能调用到,我们就把他定义成静态
方法也是一样
注意:由于静态是独立的存在于内存中,所以会占有内存资源,所以我们尽量避免静态
作者:
wang100753
时间:
2013-8-4 22:35
用static修饰的变量叫静态变量。静态变量不需要new出对象引用来调用,它可以直接用类名直接调用。当然用对象引用也能调它,只是不需要。
非静态变量则必须用对象引用进行调用。
静态变量在内存空间中只有一份,也永远只有一份。大家共享。
非静态变量只要new出一个对象引用就会在内存中分配一份空间给它。并且他两的存放地点不一样,静态变量存放在栈空间。非静态变量存放在堆空间里。
作者:
彭家贰小姐
时间:
2013-8-5 09:00
http://bbs.itheima.com/forum.php?mod=viewthread&tid=61709
已回答的相同类似的贴
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2