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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

成员变量和局部变量区别啊,谁有详细的解答啊

9 个回复

倒序浏览
局部变量是在类中的方法中定义的变量,  成员变量是类中方法外定义的变量.  
回复 使用道具 举报
成员变量在本类中都有效,局部变量只在方法内有效。
回复 使用道具 举报
特点:
随着类的加载而加载
优先于对象存在
被所有对象所共享
可以直接被类名调用
回复 使用道具 举报
局部变量:不是声明在类体括号里面的变量;
局部变量使用前必须初始化值;
局部变量没有默认初始化值;
局部变量的作用域是从定义开始到定义它的代码块结束;

成员变量:在方法体外,类体内声明的变量,又称字段(Field)或全局变量;(其实Java中没有全局变量,由于Java是面向对象语言,所有变量都是类成员)
成员变量的作用域是整个类中;
回复 使用道具 举报
  1. class A{
  2.         int age;
  3.         String name;
  4.         public void method(){
  5.                 int i = 0;
  6.         }
  7. }

  8. 代码随便写了个能看懂问题就行
  9. age,name就是成员变量,不需要初始化变量
  10. 而method()方法里的i就是局部变量,需要初始化变量
复制代码
回复 使用道具 举报
成员变量和局部变量的不同点
        1.        作用范围
                        成员变量定义在类中的方法外,整个类中都可以访问。
                        局部变量定义在函数,语句,局部代码块中,只在所属的区域有效。
                               
        2.        在内存中的位置
                        成员变量存在于堆内存的对象中。
                        局部变量存在于栈内存的方法中。
                               
        3.        生命周期
                        成员变量随着对象的创建而存在,随着对象的消失而消失。
                        局部变量随着所属区域的执行而存在,随着所属区域的结束而释放。
                               
        4.        初始化值
                        成员变量都有默认初始化值,刚定义之后可以直接进行使用
                        局部变量没有默认初始化值,定义后如果没有赋值不能参与运算

这是我之前做的笔记,希望对你有帮助~
回复 使用道具 举报
ZYZQ 中级黑马 2015-6-6 22:55:11
8#
作用域不一样
回复 使用道具 举报
三楼那个说的挺好
回复 使用道具 举报
邱石 来自手机 中级黑马 2015-6-6 23:50:58
10#
成员变量是定义在类中的,和成员方法属于同一个级别。局部变量是定义在成员方法内部的变量。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马