A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张峰 黑马帝   /  2011-11-24 22:58  /  2740 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张峰 于 2011-11-30 13:14 编辑

全局变量和成员变量之间有什么区别?

6 个回复

倒序浏览
强子 黑马帝 2011-11-24 23:06:14
沙发
差点看成  全局变量与局部变量······
在java中  据我所知  全局变量  和   成员变量是一样的
回复 使用道具 举报
全局变量是在所有函数之外声明的变量,局部变量则是在函数体内声明的变量。全局变量放在内存的全程数据区,局部变量在栈上申请。全局数据区分为两部分全局数据区和静态数据区,静态数据区专门存放static变量。static的全局变量只在该文件范围内可见,不能用extern声明为外部变量。
编译器会自动初始化全局变量。
局部变量,是具有块作用域的。如果把数据存储在局部变量里,函数在不同的块之间只能通过参数传递来共享数据。
生存周期不同 , 作用范围不同 , 分配方式不同 ,安全感不同 , 用途不同!
全局变量在程序运行期间长驻内存,直到程序运行结束, 局部变量   动态分配内存,尽量少用全局变量

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 袁世宇 于 2011-11-24 23:52 编辑

全局变量和成员变量就是只一个
如果你定义了全局变量或成员变量 就说明这个在这个类里都可以调用全局变量或这个成员变量
而局部变量只是在一个方法里使用或类里的其他{}代码块里,出了这个方法以后没人认识他了

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
冯敏 黑马帝 2011-11-25 00:08:05
报纸
在JAVA里全局变量和成员变量是一个意思,只不过是叫法不同罢了
回复 使用道具 举报
  1. public class Student{
  2.         private String name; //全局变量也叫成员变量
  3.         private Integer age;
  4.         private float score;
  5.         public Student(String name,Integer age,float score)
  6.         {
  7.                 this.age=age;
  8.                 this.name=name;
  9.                 this.score=score;
  10.         }
  11.         public String getName() {
  12.                 return name;
  13.         }
  14.         public void setName(String name) {
  15.                 this.name = name;
  16.         }
  17.         public Integer getAge() {
  18.                 return age;
  19.         }
  20.         public void setAge(Integer age) {
  21.                 this.age = age;
  22.         }
  23.         public float getScore() {
  24.                 return score;
  25.         }
  26.         public void setScore(float score) {
  27.                 this.score = score;
  28.         }
复制代码
在类的内部,方法的外部声明的变量叫做成员变量也叫全局变量。如以上代码中的name,age,score属性。

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
wanghongye 黑马帝 2011-11-27 18:53:55
7#
public class Test {
   private String name;//成员变量,也是全局变量

   public void changeName() {
       String n = "tomoya";//n就是局部变量
       name = n;
   }
}

总的来说,定义在类里的,也就是name那个位置,就是成员变量,在JAVA里全局变量和成员变量是一个意思。
定义在方法里或域里就叫做局部变量,所谓域就是{}里面
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马