若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度
若全局变量仅由单个函数访问,则可以将这个变量改为该函数的静态局部变量,以降低模块间的耦合度
设计和使用访问动态全局变量、静态全局变量、静态局部变量的函数时,需要考虑重入问题


static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。 用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象市,不生成static变量的副本,而是类的所有实例共享同一个static变量。 static变量前可以有private修饰,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用–废话),但是不能在其他类中通过类名来直接引用,这一点很重要。实际上你需要搞明白,private是访问权限限定,static表示不要实例化就可以使用,这样就容易理解多了。static前面加上其它访问权限关键字的效果也以此类推。

全局变量和静态变量放在全局区,也称静态区,不放在堆区或栈区,故不会引起堆栈溢出

关于static变量,请选择下面所有说法正确的内容相关推荐

  1. 5006.c++类中使用static变量bug

    c++类中使用static变量bug 正常情况,一般c++类中,不能使用static 定义成员,一般情况下在定义时编译器会进行报错.我呢由于c语言的使用习惯,没有太注意.在c++类的方法中,写代码时顺 ...

  2. new语句java_有 Java 语句“int[] a,b=new int[3];”,则说法正确的是

    [单选题]下列程序的输出结果为_________ . [单选题]给定如下程序,编译运行,错误出现在_________ . [简答题] [单选题]给定如下 Java 代码,编译运行时,结果是______ ...

  3. 笔记整理3----Java语言高级(三)11 综合练习+12 面向对象-static变量 与 代码块+13 面向对象-继承与抽象类+14 面向对象-接口与多态+15 面向对象-包修饰符

    11 综合练习+12 面向对象-static变量 与 代码块+13 面向对象-继承与抽象类+14 面向对象-接口与多态+15 面向对象-包&修饰符 第11天 综合练习 今日内容介绍 综合练习 ...

  4. static变量 static函数

    首先要明白c语言的存储空间 转自:http://www.52rd.com/blog/Detail_RD.Blog_imjacob_5297.html 一.c程序存储空间布局 C程序一直由下列部分组成: ...

  5. java static 变量 初始化一次_关于java static变量初始化的疑问

    java中,类的static变量作为类变量,只需要被一次初始化,就可使用,但是,我在程序中遇到一个问题: 在web.xml中配置listener,服务器启动时,ServletContextListen ...

  6. idea java no sdk_java - intelliJ IDEA 13错误:请选择Android SDK

    java - intelliJ IDEA 13错误:请选择Android SDK 我已经在Error: Cannot find any configured Android SDK上安装了intell ...

  7. html基本标签斜体,请选择产生斜体字的HTML标签:

    请选择产生斜体字的HTML标签: 答: 齐白石学习下列哪位书法家的行草 答:何绍基 智慧职教: 以下程序的运行结果是: def increment(): x=0 x+=1 print(x,end='' ...

  8. 什么样的产品可以做为引流款?请选择这些产品作为引流爆款

    什么样的产品可以做为引流款?请选择这些产品作为引流爆款 自古有酒香不怕巷子深的说法,别人闻见你的好酒,自然会被吸引到巷尾深处寻找酒肆.这时候,好酒就是一个引流的产品,而好酒中香气特别馥郁的那款,通常就 ...

  9. 类的成员变量 请定义一个交通工具(Vehicle)的类其中有: 属性速度(speed)体积(size)等等 方法移动(move())设置速度(setSpeed(int speed))加速speed

    /*类的成员变量 请定义一个交通工具(Vehicle)的类其中有:属性速度(speed)体积(size)等等 方法移动(move())设置速度(setSpeed(int speed))加速speedU ...

最新文章

  1. 什么是类型别名?什么是潜在类型?
  2. WebApi2 知识点总结
  3. 多文多面阐述HMM很清晰
  4. DSP与STM32区别
  5. 离线语音识别软件_从音乐识别软件起家,这家公司如何备战车载AI语音市场GGAI对话...
  6. hbase记录日志wal_SQL Server事务日志–第1部分–日志结构和预写日志记录(WAL)算法
  7. 高性能mysql系统设计_MySQL 高性能表设计规范
  8. 海康存储服务器 硬盘红色,海康磁盘阵列存储服务器
  9. 觅风易语言[1-10]
  10. 苹果描述文件服务器证书无效,22.iOS企业版证书、描述文件过期问题解决
  11. CPU工作方式、多核心、超线程技术详解[转贴]
  12. Silverlight游戏设计(Game Design):(八)三国策(Demo) 之 “江山一统”①
  13. mysql学历统计表,MySQL统计表优化
  14. arcgis弧段怎么加很多点_关于ArcGIS的这62个常用技巧,你造吗?
  15. Lodop打印设计(PRINT_DESIGN)介绍
  16. 05 【动静分离和URLRewrite】
  17. 九九乘法表c语言编程java,九九乘法表(c语言和java语言)+心得
  18. 计算机学术硕士招生,计算机和信息科学学院2019年学术型硕士研究生招生目录.doc...
  19. sql modify的使用方法
  20. 矩阵合同和矩阵相似的对比

热门文章

  1. 焦油坑和人月神话--人月笔记1
  2. MEDC2007北京游记 - WindowsMobile Ophone
  3. wxpython基本控件-静态文本控件
  4. 关于伪静态网站的好处
  5. 从源文件中读出最后10KB内容到目的文件中
  6. Wince下定制开机自启动程序
  7. Google实用搜索秘技六则
  8. 奇异值(Singular value decomposition SVD)分解
  9. MapReduce基础开发之六Map多输入
  10. VC6.0制作OCX并web调用