java – 静态vs实例变量:差异?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 静态vs实例变量:差异?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1125字,纯文字阅读大概需要2分钟。
内容图文
静态变量和实例变量之间有什么区别.以下句子是我无法得到的:
In certain cases, only one copy of a particular variable should be shared by all objects of a class- here a static variable is used.
A static variable represents class wide info.All objects of a class share the same data.
我认为实例变量是使用类宽,而静态变量只在自己的方法中有范围?
解决方法:
在类属性的上下文中,static具有不同的含义.如果你有一个像这样的字段:
private static int sharedAttribute;
然后,该类的每个实例将共享相同的变量,因此,如果您在一个实例中更改它,则更改将反映在更改之前或之后创建的所有实例中.
如上所述,您可能会理解这在许多情况下都很糟糕,因为它很容易变成不希望的副作用:更改对象a也会影响b,您可能最终想知道为什么b在没有明显原因的情况下发生了变化.无论如何,有些情况下这种行为是绝对可取的:
>类常量:因为它们是const,所有类访问相同的值都不会有害,因为没有人可以改变它.如果你有很多类的实例,他们也可以节省内存.但是不确定并发访问.
>要共享的变量,例如参考计数器和公司.
静态变量在程序启动之前被实例化,所以如果你有太多的静态变量,你可能会减慢启动速度.
静态方法只能访问静态属性,但在尝试之前请三思而后行.
经验法则:不要使用静态,除非有必要,你知道你在做什么,或者你宣布一个类不变.
内容总结
以上是互联网集市为您收集整理的java – 静态vs实例变量:差异?全部内容,希望文章能够帮你解决java – 静态vs实例变量:差异?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。