1. 区别
值类型的 局部变量必须初始化,成员变量声明时默认初始化。
也就是说,局部变量使用前,必须赋值。而成员变量 会默认赋值,不必须。
2.默认值是什么?
成员变量中里的,基本数值类型默认初始值为0,String等非基本类型初始化为null。
Why?
值类型在栈中,值在是在栈中。而String等引用类型在堆中,不赋值表示没有指向,所谓为null。
3.this什么时候用?
当成员变量和局部变量(函数参数也可以看做局部变量)重名的时候,被看做局部变量,因此为了避免混乱,建议访问成员变量的时候加 上“this.”,this代表当前对象。