变量按位置分
通过上面类的建立我们又得到了新的概念:成员变量和局部变量
成员变量:
- 可以使用基本数据类型,也可以使用引用数据类型.
- java中的变量在使用时必须初始化,成员变量可以不对其初始化,系统会对其默认初始化为 null或0;
- 成员变量可以在成员方法,构造方法,代码块中使用
补:成员变量和局部变量
-
在类中的位置不同
成员变量:在类中定义 局部变量:在方法中定义或方法参数
-
权限修饰不同
成员变量:可以使用访问权限修饰符
局部变量:不可以使用权限修饰符
-
初始化不同
成员变量:创建对象后,由构造方法初始化
局部变量:没有默认初始化,必须定义,赋值
-
生命周期不同
成员变量:随着对象的创建而创建,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
-
在内存中的位置不同
成员变量:非静态成员变量与对象一起在堆内存中
静态成员变量与类信息在方法区中存储
局部变量:与方法一起在栈内存中
局部变量(在方法中定义)
- 系统不会对它自动初始化
在同一类中,成员变量的名字可以与局部变量重名,但是局部变量优先,也就是就近优先
注: 类中的成员和成员方法都必须创建出来的对象来调用
标签:初始化,分类,Java,变量,成员,局部变量,内存,方法 From: https://www.cnblogs.com/cwyYYDS/p/18213920