一、相同点
- 定义变量的格式: 数据类型 变量名= 变量值
- 先声明后使用
- 变量都有其对应的作用域
二、不同点
- 局部变量与属性声明位置的不同
局部变量: 形参上;方法内部;(代码块内;构造器形参;构造方法内部)
属性:定义在类的一对大括号内
-
可否用权限修饰符(体现封装性)修饰:
属性:可(private;protected;缺省;public)
局部变量:不可 -
初始化值的情况:
-
属性:类的属性,根据其类型,都默认初始化值。
-
整型(byte、short、int、long:0)
-
浮点型(float、double:0.0)
-
字符型(char:0 (或'\u0000'))
-
布尔型(boolean:false)
-
引用数据类型(类、数组、接口:null)
-
局部变量:没默认初始化值。
-
意味着,我们在调用局部变量之前,一定要显式赋值。
-
特别地:形参在调用时,我们赋值即可。
-
4. 在内存中加载的位置:
-
属性:加载到堆空间中 (非static)
-
局部变量:加载到栈空间