黑马程序员技术交流社区

标题: 全局变量和局部变量的作用域是什么? [打印本页]

作者: 马清泽    时间: 2012-12-6 10:06
标题: 全局变量和局部变量的作用域是什么?
全局变量和局部变量的作用域是什么?这两者的区别?
作者: 邵新瑜    时间: 2012-12-6 15:34
局部变量指在程序中,只在特定过程或函数中可以访问的变量,是相对与全局变量而言的。全局变量也称外部变量,是在函数外部定义的,作用域为从变量定义处开始,到本程序文件的末尾。全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释放。由于Java是面向对象语言,所有变量都是类成员,所以Java只有局部变量,没有全局变量。面向对象编程是现在普遍采用的软件开发方法,因此现在已无需考虑是局部还是全局变量,说到变量,往往都是局部变量。


作者: 陈建华    时间: 2012-12-6 17:41
全局变量是当对象一旦实例化,那么他就在对内存中存在了,在该对象被释放之前,一般来成员方法都可以访问该变量。而且全局变量在定义时如果没有给出初始值,那么虚拟机会按照变量类型给出一个初始值。重点是它存在对内存中,可以不用给初始值
而局部变量他是存在栈内存中的。当一个方法被调用,那么他就进入栈中,一旦执行完就出栈。而且局部变量在定义时必须明确给出初始值。
作者: 马海保    时间: 2012-12-6 18:30
变量的作用域

(Java中)



1、成员变量和局部变量

    1> 定义

       >在类中定义的变量称为类的成员变量

       >在方法中定义的变量称为局部变量

    2> 作用域

       >类的方法可以直接使用该类定义的成员变量。如果别的类的方法要访问它,必须首先创建该类的对象,然后通过点运算符来引用

       >局部变量的作用域仅仅在定义该变量的方法内,因此只有在这个方法中能够使用它

2、使用成员变量和局部变量时需要注意以下几点内容

    1> 作用域不同

    2> 初始值不同

       Java中不会给局部变量赋予初始值,因此局部变量必须要定义赋值后在使用

    3> 在同一个方法中,不允许有同名的局部变量。在不同的方法中,可以有同名的局部变量

    4> 局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2