关于static变量,请选择下面所有说法正确的内容
2015-09-27 19:42
2086 查看
若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度
若全局变量仅由单个函数访问,则可以将这个变量改为该函数的静态局部变量,以降低模块间的耦合度
设计和使用访问动态全局变量、静态全局变量、静态局部变量的函数时,需要考虑重入问题
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。 用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象市,不生成static变量的副本,而是类的所有实例共享同一个static变量。 static变量前可以有private修饰,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用–废话),但是不能在其他类中通过类名来直接引用,这一点很重要。实际上你需要搞明白,private是访问权限限定,static表示不要实例化就可以使用,这样就容易理解多了。static前面加上其它访问权限关键字的效果也以此类推。
全局变量和静态变量放在全局区,也称静态区,不放在堆区或栈区,故不会引起堆栈溢出
相关文章推荐
- android 二维码,条形码生成与扫描识别
- iOS 面试题:OC标题的基本概念<延续>
- nodejs 异步优化
- [LeetCode][JavaScript]Pascal's Triangle
- Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds
- LeetCodeOJ.Jump Game II
- 数组和指针的长度
- 安装spark on yarn error
- leetcode11 Container With Most Water
- Ubuntu 安装mysql和简单操作
- Ajax
- sublime text2安装package control的方法
- 写测试用例的经验总结
- Cookie
- JAVA基础学习(十八)--常用 工具类
- 如何在windows7上的dos界面登录mysql(1)
- 闭包
- 继承
- Gamma传说
- 面向对象与原型