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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sunnyday 中级黑马   /  2016-5-31 21:45  /  287 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

成员变量和局部变量的区别:
定义的位置不同:成员变量定义在类中方外,局部变量定义在方法内.
B:在内存中的储存位置不同
        * 成员变量:在堆内存(成员变量属于对象,对象进堆内存)
        * 局部变量:在栈内存(局部变量属于方法,方法进栈内存)
C:生命周期不同
        * 成员变量:随着对象的创建而存在,随着对象的消失而消失
        * 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
D:初始化值不同
        * 成员变量:有默认初始化值:引用数据类型:null;int类型为:0;浮点型:为0.0;boolean型:faluse;char:\u0000
        * 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
       
注意事项:
        * 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。
        * 基本数据类型变量包括哪些:byte,short,int,long,float,double,boolean,char
        * 引用数据类型变量包括哪些:数组,类,接口,枚举

注意:如果想在主方法中调用类的成员方法,则一定要明确成员方法的"形参列表"和返回值类型,而且
如果是这样调用:  对象名.方法名();     则小括号里面一定要传一个和形参列表里数据类型一样的值(如果带形参).
构造方法不能指定返回值类型,如果指定了返回值类型则会变成一个方法名和类名相同的成员方法!!!!!!!自己试验出来的!!
某些情况下:一个构造方法可以等同于一个set和一个get方法

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马