共同点:
1.定义变量的格式:数据类型 变量名 = 变量值;
2.先声明后使用
3.都有其对应的作用域
不同点:
1.定义的位置不同
属性,直接定义在类的{}内
局部变量,定义在方法内,方法形参,代码块内,构造器形参,构造器内部的变量。
2.关于权限修饰符的不同
属性:属性在声明时,可以使用public,private,protected或缺省来修饰,指明其权限
局部变量:不可以使用权限修饰符
3.默认初始化值不同
属性:类的属性,根据其类型,都有默认初始化值
整型(byte,short,int,long):0
浮点型(float,double):0.0
字符型(char):0或'/u0000'
布尔型(boolean):false
引用数据类型(接口,数组,类):null
局部变量:没有默认初始化值,调用局部变量前,一定要显式赋值
特别的,形参(声明方法时括号内的参数)在调用时,赋值即可。
4.在内存中加载的位置不同
属性(非static):加载到堆空间中
局部变量:加载在栈空间中