Java静态全局变量与全局变量的区别[通俗易懂]

Java静态全局变量与全局变量的区别[通俗易懂]Static全局变量与普通的全局变量有什么区别?答:  全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个原文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

Static全局变量与普通的全局变量有什么区别?

答:
  全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。
这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个原文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。
  由于静态全局变量的作用域限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其他源文件中引起错误。
  static全局变量与普通的全局变量的区别是static全局变量只初始化一次,防止在其他文件单元被引用。

2.static函数与普通函数有什么区别?
答:
  static函数与普通的函数作用域不同。尽在本文件中。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件。
static函数与普通函数最主要区别是static函数在内存中只有一份,普通静态函数在每个被调用中维持一份拷贝程序的局部变量存在于(堆栈)中,全局变量存在于(静态区)中,动态申请数据存在于(堆)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204558.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • istio服务网格技术解析与实践(istio apigateway)

    istio的第二篇主要介绍流量管理1.前言Istio的流量路由规则允许您轻松控制服务之间的流量和api调用。ISTIO简化了诸如断路器、超时和重试等服务级别属性的配置,并使设置重要任务(如A/B测试、金丝雀卷展和具有基于百分比的流量分割的分阶段卷展)变得容易。它还提供了开箱即用的故障恢复功能,有助于使您的应用程序在从属服务或网络故障时更加健壮。ISTIO的流量管理模型依赖于与您的服务一起部署…

    2022年4月10日
  • mseloss 与 smooth_l1_loss比较

    mseloss 与 smooth_l1_loss比较测试代码:importtorchimporttorch.nn.functionalasFconf_mask=torch.FloatTensor([0.0,10.0,0.0,1.0,1.0])conf_data=torch.FloatTensor([10.1,0.9,0.0,10.2,10.2])loss_fn=torch.nn.MSELoss(…

    2022年9月14日
  • python处理图片像素_python绘制像素图

    python处理图片像素_python绘制像素图利用Imgae.open()打开图像,再利用PIL对象进行操作。这样只是简单的处理,一旦操作复杂就比较困难。而像素级的处理与许多复杂操作相关。所以,通常我们在加载完图片后,都是把图片转换成矩阵来进行复杂操作。

    2022年10月10日
  • Cannot resolve jdk.tools:jdk.tools:1.7

    Cannot resolve jdk.tools:jdk.tools:1.7

    2021年5月15日
  • Android原生编解码接口 MediaCodec 之——踩坑

    Android原生编解码接口 MediaCodec 之——踩坑关键帧MediaCodec有两种方式触发输出关键帧,一是由配置时设置的KEY_FRAME_RATE和KEY_I_FRAME_INTERVAL参数自动触发,二是运行过程中通过setParameters手动触发输出关键帧。自动触发输出关键帧在MediaCodec硬编码中设置I(关键帧)时间间隔,在api中是这么设置的mediaFormat.setInteger(MediaF………

    2022年10月24日
  • noip竞赛历年试题_noip2017提高组复赛试题

    noip竞赛历年试题_noip2017提高组复赛试题在线评测:http://codevs.cn/problem/1136/整体思路:失误之处:体会心得:AC代码:

    2022年9月24日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号